Next: , Up: List Library   [Index]


7.3.1 List Library Specifics

The list library objects expose a collection of interfaces (functions) concerned with operating heterogenous sequences.

The library objects describe one data type, the ‘list’ data type. The type identifies the sequence objects.

Data stored with the collections may be of any data type. A set of data type descriptions is to be provided when building the list library objects. The library objects will build for these described data types special access functions (e.g. insertion and retrieval methods). Data of every data type (including the data types for which no description has been provided) may be operated via data type generic interfaces.

The data type descriptions describe data handling, specifically operations such as copying, referencing, etc. Data type descriptions are to be provided at least for all non trivial data types, i.e. for all the data types for which operations such as copying, referencing, etc, are non trivial.

See struct x1f4_nodetype_type.

The data type generic interfaces (that may operate data of every type, including those data types for which no description has been provided) will make use of the data type description if provided.

Reference to objects may also be included in the sequences.

See Referable Objects.

Data and references to data of the ‘list’ type may be included in the sequences - sequence objects may even refer themselves.

The sequence operations provided by the list library objects make up for a mix of array and list functionality. Lists grow and shrink as needed - in this they behave like lists. Data in the lists is to be addressed by indices - as for arrays.

The sequences are constructed over self balancing binary search trees - most operations (such as insertion, deletion or data retrieval) have O(logN) complexity.

Operations on sequence objects holding references to other objects and / or being referred themselves by other objects may experience performance degradation related to automatic object management.

See Referable Objects.

The content of the collections is to be referred either via positive integers, with 0 referring the first item in the collection, 1 the second, 2 the third and so on, either via negative integers, with -1 referring the last item in the collection, -2 the one before the last, -3 the one before the one before the last and so on.

See Interface Traits.


Next: List Library Exports, Up: List Library   [Index]