Aapl supports different generic programming paradigms by providing variations of standard data structures. For example, a by-value linked list template may be used to store a user supplied type such as an integer. A different list template allows the user to define the data structure that is to be used as the element. A third list template allows a single instance of a data structure to be an element in multiple lists.
Wherever possible, Aapl data structures do not depend on heap memory allocation. There are variations of the linked list and AVL tree that allow the programmer to allocate a collection of elements statically and insert/remove them at will.
Aapl data structures do not have their data members hidden behind a strict abstraction layer. Aapl makes very little use of the private keyword. Though data abstractions can be a useful programming technique to quickly produce very robust code, they can inhibit functionality when the data structure is the centre of much attention. Therefore Aapl leaves the use of abstractions up to the programmer.
|Date:||Jan 25, 2006|