Next: , Previous: , Up: Top   [Contents]

13 Data Structures

Whenever possible you should try to use one of the data structures available. If the data structures do not provide enough functionality for your needs you should consider enhancing them rather than writing something from scratch.

13.1 Vector

The vector class is defined in vector.hpp and works the same way as the standard STL vector does except that it doesn’t have as many constructors.

13.2 BasicList

BasicList is a simple list structure which can either be implemented as a singly or doubly linked list. It is defined in basic_list.hpp.

13.3 StringMap

StringMap is a associative array for strings. You should try to use this when ever possible to avoid code bloat. It is defined in string_map.hpp.

13.4 Hash Tables

Several hash tables are provided when StringMap is not appropriate. These hash tables provide a hash_set, hash_multiset, hash_map and hash_multimap which are very similar to SGI’s STL implementation with a few exceptions. It is defined in hash.hpp.

13.5 BlockSList

BlockSList provided a pool of nodes which can be used for singly linked lists. It is defined in block_slist.hpp.