Export to GitHub

fprb - heContnrs.wiki


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.