290 |
290 |
291 - These classes contain the documentations of the concepts. In order |
291 - These classes contain the documentations of the concepts. In order |
292 to avoid document multiplications, an implementation of a concept |
292 to avoid document multiplications, an implementation of a concept |
293 simply refers to the corresponding concept class. |
293 simply refers to the corresponding concept class. |
294 |
294 |
295 - These classes declare every functions, <tt>typedef<tt>s etc. an |
295 - These classes declare every functions, <tt>typedef</tt>s etc. an |
296 implementation of the concepts should provide, however completely |
296 implementation of the concepts should provide, however completely |
297 without implementations and real data structures behind the |
297 without implementations and real data structures behind the |
298 interface. On the other hand they should provide nothing else. All |
298 interface. On the other hand they should provide nothing else. All |
299 the algorithms working on a data structure meeting a certain concept |
299 the algorithms working on a data structure meeting a certain concept |
300 should compile with these classes. (Though it will not run properly, |
300 should compile with these classes. (Though it will not run properly, |
301 of course.) In this way it is easily to check if an algorithm |
301 of course.) In this way it is easily to check if an algorithm |
302 doesn't use any extra feature of a certain implementation. |
302 doesn't use any extra feature of a certain implementation. |
303 |
303 |
304 - The concept descriptor classes also provide a <em>checker class<em> |
304 - The concept descriptor classes also provide a <em>checker class</em> |
305 that makes it possible check whether a certain implementation of a |
305 that makes it possible check whether a certain implementation of a |
306 concept indeed provides all the required features. |
306 concept indeed provides all the required features. |
307 |
307 |
308 - Finally, They can serve as a skeleton of a new implementation of a concept. |
308 - Finally, They can serve as a skeleton of a new implementation of a concept. |
309 |
309 |