Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Data Structure

This library cluster has 73 classes.

ECF: base.ecf

Source code: directory list

Various hash-table, array, list, chain and linear types

Hash Tables

HASH_TABLE
   EL_HASH_TABLE
         EL_PROCEDURE_TABLE
   EL_HASH_SET
   EL_FUNCTION_RESULT_TABLE
   EL_CODE_TABLE
      EL_UNIQUE_CODE_TABLE
   EL_GROUP_TABLE
   EL_TYPE_TABLE

Linear Chains

EL_LINEAR*
   EL_CHAIN*
      EL_ARRAYED_LIST
         EL_SUB_APPLICATION_LIST
         EL_ARRAYED_MAP_LIST
            EL_SORTABLE_ARRAYED_MAP_LIST*
               EL_VALUE_SORTABLE_ARRAYED_MAP_LIST
               EL_KEY_SORTABLE_ARRAYED_MAP_LIST
         EL_IMPORTABLE_ARRAYED_LIST
         EL_SORTABLE_ARRAYED_LIST
         EL_QUERYABLE_ARRAYED_LIST
         EL_UNIQUE_ARRAYED_LIST
         EL_CALL_SEQUENCE

Other Classes

Directory: library/base/data_structure

. /arrays

. /hash_table

. /kernel

. /kernel/access

. /kernel/command

. /kernel/initializer

. /kernel/platform

. /kernel/routine

. /kernel/tuple

. /kernel/uuid

. /list

. /list/arrayed

. /list/queryable

. /list/queryable/condition

. /list/support

. /map-list

. /set

arrays

EL_BYTE_ARRAY

Array of 8 bit bytes: TO_SPECIAL [NATURAL_8]

EL_PADDED_BYTE_ARRAY

bytes with a count equal to muliple of a_block_size. Creation area arguments that do not fit exactly are padded with bytes of value equal to the padding count.

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.

Further Information

Click on class link to see client examples.

EL_TUPLE_TYPE_ARRAY

Array of TUPLE parameter types: ARRAY [TYPE [ANY]]

hash_table

EL_CACHE_TABLE

Table to cache results of new_item creation procedure

EL_CODE_TABLE

Code table

EL_COUNTER_TABLE

Table to count number of attempts to insert key with put routine

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

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_ZSTRING_TOKEN_TABLE

A table of unique words used to create tokenized strings that can be reassembled into the original string.

Further Information

Click on class link to see client examples.

kernel

EL_DEFERRED_CELL

A cell with deferred initialization of the item

Further Information

Click on class link to see notes.

EL_FUNCTION_ID

Function id

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_STATE_MACHINE

State machine

EL_WRITEABLE

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

kernel/access

EL_ANY_SHARED

Ancestor for classes that primarly provide access to a shared instance of a class

Further Information

Click on class link to see client examples.

EL_COMMAND_CLIENT

Provides access to make routines of classes descended from EL_COMMAND

Further Information

Click on class link to see client examples.

EL_MODULE

Ancestor for classes that provide access to a shared instance of a stateless class that is primarly intended to house some category of routines.

EL_OS_IMPLEMENTATION

Parent of classes that implements OS specific details of abstract interface

EL_SHARED_SINGLETONS

Shared table of singleton objects

Further Information

Click on class link to see notes.

EL_SINGLETON

Allow implementation of shared singleton for type G. See class EL_SHARED_SINGLETONS for details.

if descendant_allowed is enabled then singleton may also be a type conforming to G

Further Information

Click on class link to see client examples.

EL_SINGLETON_TABLE

Thread safe table

kernel/command

EL_COMMAND

Command

Further Information

Click on class link to see client examples.

EL_DEFAULT_COMMAND

Default do nothing command

kernel/initializer

EL_EXTERNAL_LIBRARY

External library

EL_INITIALIZEABLE

Initializeable

EL_SHARED_INITIALIZER

Shared initializer

kernel/platform

EL_CROSS_PLATFORM

Cross platform

EL_PLATFORM_IMPLEMENTATION

Platform dependent implementation

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.

kernel/tuple

EL_MODULE_TUPLE

Shared instance of EL_TUPLE_ROUTINES

Further Information

Click on class link to see client examples.

EL_TUPLE_ROUTINES

Routines accessible from once routine Tuple in EL_MODULE_TUPLE

EL_TUPLE_TYPE_LIST

List of tuple element types conforming to generic type T

kernel/uuid

EL_UUID

Uuid

Further Information

Click on class link to see client examples.

EL_UUID_FACTORY

Uuid factory

list

EL_CHAIN

Sequence of items

Further Information

Click on class link to see tests and client examples.

EL_CODE_VALUE_LIST

Code value list

EL_LINEAR

Linear

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

Further Information

Click on class link to see tests and client examples.

EL_CALL_SEQUENCE

Call sequence

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)

Further Information

Click on class link to see client examples.

EL_SORTABLE_ARRAYED_LIST

Sortable arrayed list

Further Information

Click on class link to see client examples.

EL_UNIQUE_ARRAYED_LIST

List of unique hashable items

list/queryable

EL_QUERYABLE_ARRAYED_LIST

A queryable chain implemented as an arrayed list

Further Information

Click on class link to see client examples.

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.

Further Information

Click on class link to see client examples.

list/queryable/condition

EL_ALL_OF_QUERY_CONDITION

All of query condition

EL_AND_QUERY_CONDITION

And query condition

Further Information

Click on class link to see client examples.

EL_ANY_QUERY_CONDITION

Any query condition

Further Information

Click on class link to see tests and client examples.

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

Further Information

Click on class link to see client examples.

EL_PREDICATE_QUERY_CONDITION

Predicate query condition

Further Information

Click on class link to see tests and client examples.

EL_QUERY_CONDITION

Query condition

Further Information

Click on class link to see tests and client examples.

EL_ROUTINE_QUERY_CONDITION

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

list/support

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.

Further Information

Click on class link to see tests and client examples.

EL_ITERABLE_CONVERTER

Convert an iterable list to an arrayed list with to_item function

EL_REPEATED_NUMERIC

Repeated numeric

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

Further Information

Click on class link to see client examples.

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

set

EL_HASH_SET

Hash set

Further Information

Click on class link to see client examples.