This library cluster has 122 classes.
ECF: base.ecf
Source code: directory list
Building on the basic ISE reflection mechanisms, this cluster makes possible a very flexible way of exchanging data between Eiffel objects and any structured plaintext format, and also a binary memory block conforming to EL_MEMORY_READER_WRITER (inherits SED_MEMORY_READER_WRITER)
Key Features
EL_REFLECTED_FIELD* EL_REFLECTED_REFERENCE [G] EL_REFLECTED_COLLECTION [G] EL_REFLECTED_TEMPORAL* [G -> ABSOLUTE] EL_REFLECTED_TIME EL_REFLECTED_DATE_TIME EL_REFLECTED_DATE EL_REFLECTED_TUPLE EL_REFLECTED_BOOLEAN_REF EL_REFLECTED_MANAGED_POINTER EL_REFLECTED_STORABLE EL_REFLECTED_REFERENCE_ANY EL_REFLECTED_HASHABLE_REFERENCE [H -> HASHABLE] EL_REFLECTED_STRING* [S -> READABLE_STRING_GENERAL create make end] EL_REFLECTED_STRING_8 EL_REFLECTED_IMMUTABLE_STRING_8 EL_REFLECTED_IMMUTABLE_STRING_32 EL_REFLECTED_STRING_32 EL_REFLECTED_URI [U -> EL_URI create make end] EL_REFLECTED_ZSTRING EL_REFLECTED_PATH EL_REFLECTED_MAKEABLE_FROM_STRING* [MAKEABLE -> EL_MAKEABLE_FROM_STRING [STRING_GENERAL]] EL_REFLECTED_MAKEABLE_FROM_STRING_8 EL_REFLECTED_MAKEABLE_FROM_STRING_32 EL_REFLECTED_MAKEABLE_FROM_ZSTRING EL_REFLECTED_EXPANDED_FIELD* [G] EL_REFLECTED_BOOLEAN EL_REFLECTED_NUMERIC_FIELD* [N -> NUMERIC] EL_REFLECTED_REAL_32 EL_REFLECTED_INTEGER_FIELD* [N -> NUMERIC] EL_REFLECTED_INTEGER_8 EL_REFLECTED_INTEGER_32 EL_REFLECTED_INTEGER_64 EL_REFLECTED_NATURAL_8 EL_REFLECTED_NATURAL_16 EL_REFLECTED_NATURAL_32 EL_REFLECTED_NATURAL_64 EL_REFLECTED_INTEGER_16 EL_REFLECTED_REAL_64 EL_REFLECTED_CHARACTER_8 EL_REFLECTED_CHARACTER_32 EL_REFLECTED_POINTER
Class reflective meta data
Further Information
Click on class link to see descendants.
Common class type identifiers accesible via EL_SHARED_CLASS_ID
Object whose expanded fields can be compactly represented as a single NATURAL_64 number
Further Information
Click on class link to see instructions, descendants and client examples.
Implementation of field ordering and shifting to be applied to an instance of EL_FIELD_LIST associated with object conforming to EL_REFLECTIVE
Numeric type identifier enumerations for inclusion in class EL_CLASS_TYPE_ID_ENUM
Lookup reflected reference object field information by field name
Stateless class with reflective routines
Further Information
Click on class link to see notes, descendants and client examples.
Object with field_table attribute of field getter-setter's. See class EL_FIELD_TABLE
Further Information
Click on class link to see notes, tests, descendants and client examples.
Object that can read and write itself to a memory buffer of type EL_MEMORY_READER_WRITER. Field reading, writing and object comparison is handled using class reflection.
Further Information
Click on class link to see descendants, notes and client examples.
Displays reflective fields conforming to EL_REFLECTED_FIELD in call to {EL_REFLECTIVE}.print_fields
Basic interface to reflective object useful in parallel inheritance
Fields conforming to READABLE_STRING_8 are initialized from the attribute name
Further Information
Click on class link to see client examples.
Name table for tuple fields in object conforming to EL_REFLECTIVE
Also contains a table of agent functions to convert READABLE_STRING_GENERAL to adjusted EL_SPLIT_READABLE_STRING_LIST for initializing tuple field
Wrapper object for enumeration value defined by a class inheriting from EL_ENUMERATION. An instance of an implemention class can be initialized by a name string either matching the enumeration name or imported from a foreign naming convention.
It is especially useful as a field attribute in a class inheriting EL_REFLECTIVE.
Further Information
Click on class link to see client examples.
Binary state object that can be associated with a descriptive name pair. on or off for example.
Further Information
Click on class link to see notes and tests.
Enumeration with two values representing True and False. The values can be renamed in descendant
Examples:
confirmed/unconfirmed yes/no etc..
{EL_BOOLEAN_ENUMERATION} with boolean string mapping
True -> "on" False -> "off"
Abstraction for mapping names to code numbers with bi-directional lookups, i.e. obtain the code from a name and the name from a code. The generic parameter can be any NUMERIC type.
Further Information
Click on class link to see notes, instructions, descendants and client examples.
Implementation EL_ENUMERATION [NATURAL_16]
Further Information
Click on class link to see client examples.
Implementation EL_ENUMERATION [NATURAL_32]
Implementation EL_ENUMERATION [NATURAL_8]
Further Information
Click on class link to see client examples.
Enumeration of type identifiers by correspondence of fields names to type names. Example: EL_CLASS_TYPE_ID_ENUM
Further Information
Click on class link to see notes.
Factory to create initialized instances of objects conforming to EL_REFLECTED_FIELD
Factory for objects of type EL_MAKEABLE_READER_WRITER [EL_MAKEABLE]
Factory for objects of type EL_REFLECTED_COLLECTION [G]
Further Information
Click on class link to see client examples.
Reflected field factory
Factory for objects of type EL_REFLECTIVELY_SETTABLE
Routine info factory
Further Information
Click on class link to see client examples.
List of fields conforming to EL_REFLECTED_FIELD
Manages attribute field for a class
Further Information
Click on class link to see descendants and client examples.
Implementation routines for EL_REFLECTED_FIELD
Reflected BOOLEAN field
Further Information
Click on class link to see notes.
Reflected CHARACTER_32 field
Reflected CHARACTER_8 field
Base class for reflected fields of common expanded types
Further Information
Click on class link to see descendants.
Reflected POINTER field
Reflected INTEGER_16 field
Reflected INTEGER_32 field
Further Information
Click on class link to see client examples.
Reflected INTEGER_64 field
Reflected INTEGER_8 field
Field with type name pattern: NATURAL_* or INTEGER_*
Reflected NATURAL_16 field
Reflected NATURAL_32 field
Reflected NATURAL_64 field
Reflected NATURAL_8 field
Field conforming to NUMERIC
Further Information
Click on class link to see client examples.
Reflected REAL_32 field
Further Information
Click on class link to see client examples.
Reflected REAL_64 field
Reflected field conforming to BOOLEAN_REF
Further Information
Click on class link to see tests.
Reflected field conforming to COLLECTION [G] with ability to create factories for types conforming to ARRAYED_LIST [G] or HASH_TABLE [G, HASHABLE]
Further Information
Click on class link to see notes and client examples.
Reflected reference field conforming to HASHABLE with the possibility to eliminate duplicate values by looking up values in a EL_HASH_SET object.
Further Information
Click on class link to see descendants.
Reflected field of type MANAGED_POINTER
Reflected field conforming to type EL_PATH
Reflected reference field conforming to parameter G
Further Information
Click on class link to see descendants.
Default reflected reference field
Reflected field conforming to type EL_STORABLE
Reflected field conforming to type TUPLE
Reflected field conforming to DATE
Reflected field conforming to DATE_TIME
Further Information
Click on class link to see client examples.
Reflected field conforming to temporal object ABSOLUTE
Reflected field of type TIME
Further Information
Click on class link to see client examples.
Field that conforms to type EL_REFLECTED_REFERENCE [EL_MAKEABLE_FROM_STRING_GENERAL]
Reflected field for object conforming to EL_MAKEABLE_FROM_STRING [STRING_32]
Reflected field for object conforming to EL_MAKEABLE_FROM_STRING [STRING_8]
Reflected field for object conforming to EL_MAKEABLE_FROM_STRING [ZSTRING]
Reflected field of type IMMUTABLE_STRING_32
Reflected field of type IMMUTABLE_STRING_8
Reflected field that conforms to READABLE_STRING_GENERAL
Reflected field of type STRING_32
Reflected field of type STRING_8
EL_REFLECTED_REFERENCE for field conforming to EL_REFLECTED_REFERENCE
Reflected uri
Reflected field of type EL_ZSTRING
Further Information
Click on class link to see client examples.
Mask and bit-shift information used to compact the expanded fields of an object conforming to EL_COMPACTABLE_REFLECTIVE into a NATURAL_64 number. And also to set the fields from a supplied compact number.
Further Information
Click on class link to see notes and client examples.
An EL_ATTRIBUTE_BIT_RANGE_TABLE object with the mask and bit-shift information calculated from range values supplied for each field using the field address operator '$'
Further Information
Click on class link to see notes, instructions and client examples.
Sorted set of field indices for reflected object
Set of field names
Properties of field type in a reference object
Further Information
Click on class link to see client examples.
Field type query routines
INTEGER_64 interval conforming to INTEGER_INTERVAL for use by EL_ATTRIBUTE_RANGE_TABLE
Internal reflection routines accessible via EL_MODULE_EIFFEL
Further Information
Click on class link to see notes.
Object to "jail-break" inaccessible fields in an object.
Further Information
Click on class link to see notes.
List of uninitialized EL_REFLECTED_REFERENCE fields for type query purposes
Reflected reference object
Access control for features of class EL_REFLECTIVE
Further Information
Click on class link to see client examples.
Object to map textual descriptions in description to attributes
Further Information
Click on class link to see notes.
Map text fields conforming to EL_SUBSTRING [STRING_GENERAL] to a value in a single manifest string formatted as follows:
key_1: Value One Line 1 Value One Line 2 .. key_2: Value Two etc
Further Information
Click on class link to see descendants and client examples.
Shared instances of EL_CODE_16_REPRESENTATION, EL_CODE_32_REPRESENTATION and EL_CODE_64_REPRESENTATION
Reflected field can be associated with a string representation type G, for example an INTEGER_32 field can be associated with a DATE type.
A reflected BOOLEAN field representing set of two strings conforming to READABLE_STRING_GENERAL
Further Information
Click on class link to see client examples.
2 byte implementation of EL_CODE_REPRESENTATION
4 byte implementation of EL_CODE_REPRESENTATION
8 byte implementation of EL_CODE_REPRESENTATION
Fixed length alpha-numeric 8-bit codes stored in one of:
1. NATURAL_16 (2 byte code string) 2. NATURAL_32 (4 byte code string) 3. NATURAL_64 (8 byte code string)
Further Information
Click on class link to see descendants.
A reflected INTEGER_32 representing a DATE
A reflected INTEGER_32 representing a EL_DATE_TIME
Further Information
Click on class link to see client examples.
A reflected type N conforming to NUMERIC representing a EL_ENUMERATION [N]]
Further Information
Click on class link to see client examples.
A field value G that represents an item of type H
Reflected field representation that links a field to a set of values
A field value G that represents an item of type H capable of conversion to and from a string conforming to READABLE_STRING_GENERAL.
Further Information
Click on class link to see notes.
A reflected INTEGER_32 representing a TIME
A reflected NATURAL_32 representing a EL_VERSION_ARRAY
Function info
Further Information
Click on class link to see client examples.
Procedure info
Routine info
Used in conjunction with EL_REFLECTIVELY_SETTABLE to reflectively set fields from name-value pairs, where value conforms to READABLE_STRING_GENERAL.
Further Information
Click on class link to see descendants.
Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to STRING_32.
Further Information
Click on class link to see client examples.
Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to STRING_8.
Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to EL_ZSTRING (aka ZSTRING)
Further Information
Click on class link to see tests and client examples.
Shared access to routines of class EL_INTERNAL and ISE base class INTERNAL
Further Information
Click on class link to see client examples.
Type constants for object reflection
Further Information
Click on class link to see client examples.
Shared instance of class EL_CLASS_TYPE_ID_ENUM
Further Information
Click on class link to see client examples.
Shared access to table of object creation functions to initialize reference attributes reflectively. See class EL_REFLECTED_REFERENCE.
You can indirectly add to this table by overriding new_instance_functions from class EL_REFLECTIVE.
Shared object pool
Shared reader writer table
Type category constants
Flags corresponding to macros defined in rt_struct.h
IS_DEAD: NATURAL_16 = 0x4000 IS_FROZEN: NATURAL_16 = 0x2000 IS_DEFERRED: NATURAL_16 = 0x1000 IS_COMPOSITE: NATURAL_16 = 0x0800 HAS_DISPOSE: NATURAL_16 = 0x0400 IS_EXPANDED: NATURAL_16 = 0x0200 IS_DECLARED_EXPANDED: NATURAL_16 = 0x0100
Plus two extra: Is_special and Is_tuple.
Reflected field table
Further Information
Click on class link to see client examples.
Functions by result type
Array of TUPLE parameter types: ARRAY [TYPE [ANY]]
List of tuple element types conforming to generic type T
Further Information
Click on class link to see client examples.
Array of dynamic type identifiers