Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Data Structure Classes

ECF: base.ecf

Directory: library/base/data_structure

. /arrays

. /arrays/serialization

. /dynamic_creation

. /event

. /hash_table

. /kernel

. /list

. /list/arrayed

. /list/queryable

. /map-list

. /platform

. /set

arrays

EL_BYTE_ARRAY

Array of 8 bit bytes

EL_SUBARRAY

Sub arrays implemented using shared memory areas rather than copied memory area. For large arrays, subarray memory copies can incurr a significant performance overhead. Using shared memory subarrays can in some applications reduce execution time by as much as 50%. (hard to believe I know)

Sub array can be referenced using either lower to upper indexes of parent array or 1 based index.

arrays/serialization

EL_ARRAY_READER

Array reader

EL_ARRAY_WRITER

Array writer

EL_ARRAY_WRITER_DOUBLE

Array writer double

dynamic_creation

EL_FACTORY_CLIENT

Allows descendants access to initialization agents for EL_OBJECT_FACTORY

EL_OBJECT_FACTORY

Factory for instances of Eiffel classes conforming to parameter G

event

EL_DEFAULT_EVENT_LISTENER

Default event listener

EL_EVENT_CHECKER

Object to periodically process events in some other context whilst in the midst of a computation. Useful especially to check for UI events.

EL_EVENT_LISTENER

Event notification abstraction

EL_EVENT_LISTENER_LIST

Object for managing a list of event listeners. It can all be used to make a one-many event listener, as the list itself conforms to EL_EVENT_LISTENER.

Due to limitations of Eiffel ARRAY manifest conformance checking, the automatic conversion is not useable as intended with compiler version 16.05, but perhaps in a future version it will be useable.

EL_EVENT_PROCESSOR

Event processor

EL_QUANTITY_INCREASE_RATE_CALCULATOR

Quantity increase rate calculator

hash_table

EL_CODE_TABLE

Code table

EL_FUNCTION_RESULT_TABLE

Object for caching the result of a call to function new_item for each generating type of the generic parameter TARGET.

EL_GROUP_TABLE

Table of grouped items defined by key function to make procedure

EL_HASH_TABLE

Hash table

Further Information

Click on class link to see client examples.

EL_PROCEDURE_TABLE

Table of procedures with latin-1 encoded keys

EL_STRING_HASH_TABLE

Hash table with keys conforming to READABLE_STRING_GENERAL

Further Information

Click on class link to see client examples.

EL_TYPE_TABLE

Caches objects associated with a type

EL_UNIQUE_CODE_TABLE

Unique code table

EL_URL_QUERY_HASH_TABLE

Hash table of URL query string name-value pairs

EL_ZSTRING_HASH_TABLE

Zstring hash table

kernel

EL_BOOLEAN_REF

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.

EL_BUILD_INFO

Build info

EL_COMMAND

Command

EL_COMMAND_CLIENT

Provides access to make routines of classes descended from EL_COMMAND

EL_DEFAULT_COMMAND

Default do nothing command

EL_ENVIRON_VARIABLE

Name-value pair that sets an environment variable when applied. If the

EL_EXTERNAL_LIBRARY

External library

EL_FUNCTION_ID

Function id

EL_INITIALIZEABLE

Initializeable

EL_KEY_IDENTIFIABLE

Key identifiable

EL_MAKEABLE

Object that is initializeable by a call to make

EL_MODULE

Module

EL_MODULE_BUILD_INFO

Module build info

EL_MODULE_EIFFEL

Module eiffel

EL_MODULE_EXCEPTIONS

Module exceptions

EL_OS_IMPLEMENTATION

Parent of classes that implements OS specific details of abstract interface

EL_PREDICATE

Predicate

EL_PROCEDURE

Procedure identifier based on address of Eiffel routine dispatcher As it is not possible to compare agent references this serves as a workaround allowing you to determine whether two agents refer to the same procedure.

EL_READABLE

Abstraction for objects that have a function returning all the basic types and strings

EL_SHARED_CELL

Shared cell

EL_SHARED_INITIALIZER

Shared initializer

EL_SOFTWARE_VERSION

Software version

EL_WRITEABLE

Abstraction for objects that have a procedure accepting all the basic types and strings

list

EL_CALL_SEQUENCE

Call sequence

EL_CHAIN

Sequence of items

EL_CODE_VALUE_LIST

Code value list

EL_LINEAR

Linear

EL_REPEATED_NUMERIC

Repeated numeric

EL_REPEATED_NUMERIC_LIST

Object that uses run length encoding to data compress a sequence of numeric values that tend to repeat a lot.

list/arrayed

EL_ARRAYED_LIST

Arrayed list

EL_SEQUENTIAL_INTERVALS

Sequence of consecutive INTEGER_32 intervals (compressed as INTEGER_64's for better performance)

<< a1..b1, a2..b2, .. >>

such that b(n) < a(n + 1)

EL_SORTABLE_ARRAYED_LIST

Sortable arrayed list

EL_UNIQUE_ARRAYED_LIST

List of unique hashable items

list/queryable

EL_ALL_OF_QUERY_CONDITION

All of query condition

EL_AND_QUERY_CONDITION

And query condition

EL_ANY_QUERY_CONDITION

Any query condition

EL_NOT_QUERY_CONDITION

Not query condition

EL_ONE_OF_QUERY_CONDITION

One of query condition

EL_OR_QUERY_CONDITION

Or query condition

EL_PREDICATE_QUERY_CONDITION

Predicate query condition

EL_QUERYABLE_ARRAYED_LIST

A queryable chain implemented as an arrayed list

EL_QUERYABLE_CHAIN

A chain that is queryable using query condition objects that can be combined using the Eiffel logical operators: and, or, not.

Access more query constructs by inheriting class EL_QUERY_CONDITION_FACTORY in client classes.

Further Information

Click on class link to see notes.

EL_QUERY_CONDITION

Query condition

EL_QUERY_CONDITION_FACTORY

Supporting class for lists implementing EL_QUERYABLE_CHAIN Use it to create various compound query conditions and derive a query condition object from an agent predicate.

map-list

EL_ARRAYED_MAP_LIST

Arrayed list of key-value pair tuples

Further Information

Click on class link to see descendants.

EL_KEY_SORTABLE_ARRAYED_MAP_LIST

Arrayed list of key-value pair tuples that can be sorted by key of type K

EL_SORTABLE_ARRAYED_MAP_LIST

Arrayed list of key-value pair tuples that can be sorted

EL_VALUE_SORTABLE_ARRAYED_MAP_LIST

Arrayed list of key-value pair tuples that can be sorted by value of type G

platform

EL_CROSS_PLATFORM

Cross platform

EL_PLATFORM_IMPLEMENTATION

Platform dependent implementation

set

EL_HASH_SET

Hash set