/** \mainpage rrq C hacks: Vectors And Such This software is an implementation platform for vector based representations. - \ref itemkeyfun is an implementation of an abstracted type notion that is focussed on what the \ref hashvector needs in terms of callbacks for its separation between the hash management functionality and the contained items. This name is choosen so as to avoid some connotations common to the term "type". - \ref array and \ref vector are two implementations of an abstract array notion using an indexing tree of 16 and 256 pointers respectively. The indexing tree is balanced into levels matching to the needs of the vector size. When the size of a vector is changed then indexing levels are added or removed as needed. However indexing pages are allocated on a needs basis. The level 0 indexing pages hold the actual data as void* pointers - \ref hasharray and \ref hashvector are two implementations of an abstract hashtable using \ref array and \ref vector as backing store respectively. It also uses the \ref itemkeyfn type abstraction of items being compunded as pairs of key and payload. This separates the hashing code from the type abstraction. \subsubsection s0 itemkeyfun actualizations - \ref integeritem is an plain actualization of an itemkeyfun record for integer items other than 0 and 1, i.e. where the void* slots of a tuple are reinterpreted as 64-bit integers rather than "item pointers". \note Note that a hashvector cannot directly contain integer items since 0 and 1 are treated as indicating unused and holed slots. - stringitem is a plain actualization of an itemkeyfun record for null-terminated character strings. - tupleschema is a specialization of the itemkeyfun type scheme intended for tuple items that are arrays of items that are further type via itemkeyfun records. A tupleschema actualization includes the applicable arity and an array of pointers to itemkeyfun actualizations that declare the itemkeyfun types of the parts (columns). */