Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Data Structure

The Data Structure library cluster has 80 classes.

ECF: base.ecf

Directory: library/base/data_structure

. /arrays

. /arrays/serialization

. /dynamic_creation

. /event

. /hash_table

. /kernel

. /kernel/access

. /kernel/module

. /kernel/routine

. /list

. /list/arrayed

. /list/queryable

. /list/queryable/condition

. /list/support

. /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

EL_PROCEDURE_TABLE

Table of procedures with latin-1 encoded keys

EL_STRING_HASH_TABLE

Hash table with keys conforming to READABLE_STRING_GENERAL

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_DEFAULT_COMMAND

Default do nothing command

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_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

kernel/access

EL_COMMAND_CLIENT

Provides access to make routines of classes descended from EL_COMMAND

EL_MODULE

Module

EL_OS_IMPLEMENTATION

Parent of classes that implements OS specific details of abstract interface

kernel/module

EL_MODULE_BUILD_INFO

Module build info

EL_MODULE_EIFFEL

Module eiffel

EL_MODULE_EXCEPTIONS

Module exceptions

EL_MODULE_TUPLE

Shared instance of EL_TUPLE_ROUTINES

kernel/routine

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_TUPLE_ROUTINES

Routines accessible from once routine Tuple in EL_MODULE_TUPLE

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_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_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.

list/queryable/condition

EL_ALL_OF_QUERY_CONDITION

All of query condition

EL_AND_QUERY_CONDITION

And query condition

EL_ANY_QUERY_CONDITION

Any query condition

EL_FUNCTION_VALUE_QUERY_CONDITION

Query condition to test if value of function with target G is equal to a specified value

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_QUERY_CONDITION

Query condition

EL_ROUTINE_QUERY_CONDITION

A query condition that involves applying a routine agent to determine condition

list/support

EL_CHAIN_STRING_LIST_COMPILER

Object to compile a list of strings using a supplied value function for item chain. The value function need only return a string conforming to STRING_GENERAL or else any object with a meaningful implementation of the out function.

EL_CHAIN_SUMMATOR

Functions to sum a numeric value function across each item in a chain of objects of type G. The supplied function agent must return a value conforming to type NUMERIC.

EL_ITERABLE_CONVERTER

Convert an iterable list to an arrayed list with to_item function

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