This group contains the data/algorithm skeletons and concept checking classes implemented in LEMON.
The purpose of the classes in this group is fourfold.
- These classes contain the documentations of the concepts. In order to avoid document multiplications, an implementation of a concept simply refers to the corresponding concept class.
- These classes declare every functions,
typedef
s etc. an implementation of the concepts should provide, however completely without implementations and real data structures behind the interface. On the other hand they should provide nothing else. All the algorithms working on a data structure meeting a certain concept should compile with these classes. (Though it will not run properly, of course.) In this way it is easily to check if an algorithm doesn't use any extra feature of a certain implementation.
- The concept descriptor classes also provide a checker class that makes it possible to check whether a certain implementation of a concept indeed provides all the required features.
- Finally, They can serve as a skeleton of a new implementation of a concept.
|
file | heap.h |
| The concept of heaps.
|
|
file | path.h |
| The concept of paths.
|
|