Next: Decq Library Exports, Up: Decq Library [Index]
The decq library objects expose a collection of interfaces (functions) concerned with operating heterogenous ends access sequences.
The library objects describe one data type, the ‘decq’ 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 decq 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 ‘decq’ type may be included in the sequences - sequence objects may even refer themselves.
The sequence operations provided by the decq library objects make up for double ended queue functionality.
The sequences are constructed over unrolled link lists - most operations (such as insertion, deletion or data retrieval) have O(1) 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.
Next: Decq Library Exports, Up: Decq Library [Index]