Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Data Structure

This library cluster has 56 classes.

ECF: base.ecf

Source code: directory list

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

Hash Tables

HASH_TABLE [G, K -> HASHABLE]
   EL_LOG_FILTER_SET [TYPE_LIST -> TUPLE create default_create end]
   EL_EIF_OBJ_TEXT_TABLE_CONTEXT
   EL_FUNCTION_RESULT_TABLE [TARGET, R]
   EL_ZSTRING_TABLE
   EL_STRING_GENERAL_UNESCAPER* [R -> READABLE_STRING_GENERAL, G -> STRING_GENERAL]
      EL_STRING_8_UNESCAPER
      EL_ZSTRING_UNESCAPER
         EL_JSON_UNESCAPER
      EL_STRING_32_UNESCAPER
   EL_CACHE_TABLE [G, K -> HASHABLE]
   EL_HASH_SET [G -> HASHABLE]
   EL_HTTP_COOKIE_TABLE
   EL_HASH_TABLE [G, K -> HASHABLE]
      EL_STRING_HASH_TABLE [G, K -> STRING_GENERAL create make end]
         EL_PROCEDURE_TABLE [K -> STRING_GENERAL create make end]
         EVOLICITY_OBJECT_TABLE [G]
         EL_ZSTRING_HASH_TABLE [G]
            EL_TRANSLATION_TABLE
            EL_GVFS_MOUNT_TABLE
      EL_FTP_SYNC_ITEM_TABLE
      EL_DATE_FUNCTION_TABLE
      EL_REFLECTED_REFERENCE_TYPE_TABLE [REFLECTED_TYPE -> EL_REFLECTED_REFERENCE [ANY]]
         EL_REFLECTED_COLLECTION_TYPE_TABLE [G]
         EL_REFLECTED_STORABLE_REFERENCE_TYPE_TABLE
      EL_STRING_CONVERSION_TABLE
   EL_REFLECTED_FIELD_TABLE
   EL_URI_QUERY_HASH_TABLE* [S -> STRING_GENERAL create make end]
      EL_URI_QUERY_ZSTRING_HASH_TABLE
   EVOLICITY_TEMPLATE_STACK_TABLE
   EL_GROUP_TABLE [G, K -> HASHABLE]
   EL_FIELD_VALUE_TABLE* [G]
   EL_SINGLETON_TABLE
   EL_CODE_TABLE [K -> HASHABLE]
      EL_UNIQUE_CODE_TABLE [K -> HASHABLE]
         EL_ZSTRING_TOKEN_TABLE
            EL_WORD_TOKEN_TABLE
   EL_CURL_HEADER_TABLE
   EL_HTTP_HEADERS
   EL_FUNCTIONS_BY_RESULT_TYPE
   EL_XPATH_TOKEN_TABLE

Linear Chains

EL_LINEAR* [G]
   EL_CHAIN* [G]
      EL_ARRAYED_LIST [G]
         EL_TUPLE_TYPE_LIST [T]
         EL_SUB_APPLICATION_LIST
         EL_DEFAULT_COMMAND_OPTION_LIST
         EL_SEQUENTIAL_INTERVALS
            EL_OCCURRENCE_INTERVALS [S -> STRING_GENERAL create make end]
               EL_SPLIT_STRING_LIST [S -> STRING_GENERAL create make, make_empty end]
                  EL_SPLIT_ZSTRING_LIST
                  EL_SPLIT_STRING_32_LIST
                  EL_SPLIT_STRING_8_LIST
                  EL_IP_ADDRESS_ROUTINES
         EL_SORTABLE_ARRAYED_LIST [G -> COMPARABLE]
            EL_STRING_LIST [S -> STRING_GENERAL create make, make_empty end]
               EL_ZSTRING_LIST
                  EL_XHTML_STRING_LIST
               EL_STRING_8_LIST
                  EVOLICITY_VARIABLE_REFERENCE
                     EVOLICITY_FUNCTION_REFERENCE
                  AIA_CANONICAL_REQUEST
               EL_STRING_32_LIST
            EL_FILE_PATH_LIST
            EL_FILE_MANIFEST_LIST
         EL_COMMA_SEPARATED_WORDS_LIST
         EL_IMPORTABLE_ARRAYED_LIST [G -> EL_REFLECTIVELY_SETTABLE create make_default end]
         EL_ARRAYED_MAP_LIST [K, G]
            EL_STYLED_TEXT_LIST* [S -> STRING_GENERAL]
               EL_STYLED_STRING_8_LIST
               EL_STYLED_STRING_32_LIST
               EL_STYLED_ZSTRING_LIST
            EL_DECOMPRESSED_DATA_LIST
            EL_SORTABLE_ARRAYED_MAP_LIST* [K, G]
               EL_KEY_SORTABLE_ARRAYED_MAP_LIST [K -> COMPARABLE, G]
               EL_VALUE_SORTABLE_ARRAYED_MAP_LIST [K, G -> COMPARABLE]
         EL_REFLECTED_FIELD_LIST
         EL_TRANSLATION_ITEMS_LIST
         EL_XDG_DESKTOP_ENTRY_STEPS
         EL_QUERYABLE_ARRAYED_LIST [G]
            AIA_CREDENTIAL_LIST
               AIA_STORABLE_CREDENTIAL_LIST
      EL_STRING_GENERAL_CHAIN* [S -> STRING_GENERAL create make, make_empty end]
         EL_LINKED_STRING_LIST [S -> STRING_GENERAL create make, make_empty end]
         EL_STRING_LIST [S -> STRING_GENERAL create make, make_empty end]
      EL_QUERYABLE_CHAIN* [G]
         EL_QUERYABLE_ARRAYED_LIST [G]
   EL_FILE_LINE_SOURCE*
      EL_PLAIN_TEXT_LINE_SOURCE
         EL_ENCRYPTED_PLAIN_TEXT_LINE_SOURCE
      EL_ZSTRING_IO_MEDIUM_LINE_SOURCE

Other Classes

Directory: library/base/data_structure

. /arrays

. /hash_table

. /list

. /list/arrayed

. /list/queryable

. /list/queryable/condition

. /list/support

. /map-list

. /set

. /stack

arrays

EL_BOOLEAN_INDEXABLE

Array that is indexable by a BOOLEAN value

EL_BYTE_ARRAY

Array of 8 bit bytes: TO_SPECIAL [NATURAL_8]

EL_EXTENDABLE_AREA

Object with extendible SPECIAL [G] area

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.

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

Further Information

Click on class link to see client examples.

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 splitting items of type G into groups of type EL_ARRAYED_LIST [G] according to the applied value of a function agent of type FUNCTION [G, K].

Further Information

Click on class link to see client examples.

EL_HASH_TABLE

Hash table

Further Information

Click on class link to see client examples.

EL_HASH_TABLE_ITERATION_CURSOR

Iteration cursor for HASH_TABLE [ANY, HASHABLE] to fix problem with cursor_index when items have been deleted

EL_PROCEDURE_TABLE

Table of procedures with latin-1 encoded keys

Further Information

Click on class link to see client examples.

EL_STRING_8_TABLE

Table with keys conforming to READABLE_STRING_8

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.

list

EL_CHAIN

Sequence of items

Further Information

Click on class link to see tests, descendants 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.

EL_TUPLE_TYPE_LIST

List of tuple element types conforming to generic type T

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_NAMEABLES_LIST

List of items conforming to EL_NAMEABLE [READABLE_STRING_GENERAL] and searchable by item name

Further Information

Click on class link to see notes and client examples.

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

An arrayed list implementation of EL_QUERYABLE_CHAIN

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.

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

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

Further Information

Click on class link to see client examples.

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

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

Further Information

Click on class link to see client examples.

EL_ITERABLE_ROUTINES

Routines related to ITERABLE

Further Information

Click on class link to see notes.

EL_MODULE_ITERABLE

Shared access to routines of class EL_ITERABLE_ROUTINES

Further Information

Click on class link to see client examples.

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 and client examples.

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 notes and client examples.

EL_MEMBER_SET

Set of objects conforming to EL_SET_MEMBER [HASHABLE]

Further Information

Click on class link to see client examples.

EL_SET_MEMBER

Object that is a member of a set of type EL_MEMBER_SET [EL_SET_MEMBER]

stack

EL_POOL_SCOPE

Abstract interface for EL_RECYCLING_POOL [G]. See routine new_scope

EL_RECYCLING_POOL

Pool of reuseable objects implemented as an ARRAYED_STACK [G]

Further Information

Click on class link to see notes.