The heLib/heContnrs unit is a collection of generic Free Pascal containers.
BTrees
[
since 0.3]
* BTree sets - invariantly sorted, no duplicate items
* TheBTreeSet: Container mainly for built in types.
* TheCmpBTreeSet: Container for types supported by a custom comparator.
* TheObjectBTreeSet: Container for TObject based types.
- BTree maps - invariantly sorted keys, no duplicate keys, every key has a value associated with it.
- TheBTreeMap: Container mainly for keys from the built in types.
- TheCmpBTreeMap: Container for key types supported by a custom comparator.
- TheObjectBTreeMap: Container for TObject based values.
Lists
[
since 0.2]
* TheList: Container for any item type.
* TheObjectList: Container for TObject based values.
Vectors
[
since 0.1]
* Standard vectors - optionally sorted on demand:
* TheVector: Container mainly for built in types.
* TheCmpVector: Container for types supported by a custom comparator.
* TheObjectVector: Container for TObject based types.
Sorted vectors - invariantly sorted
- TheSortVector: Container mainly for built in types.
- TheCmpSortVector: Container for types supported by a custom comparator.
- TheObjectSortVector: Container for TObject based types.
Vector sets - invariantly sorted, no duplicate items
- TheVectorSet: Container mainly for built in types.
- TheCmpVectorSet: Container for types supported by a custom comparator.
- TheObjectVectorSet: Container for TObject based types.
Vector maps - invariantly sorted keys, no duplicate keys, every key has a value associated with it.
- TheVectorMap: Container mainly for keys from the built in types.
- TheCmpVectorMap: Container for key types supported by a custom comparator.
- TheObjectVectorMap: Container for TObject based values.