#ifndef VERSION_HPP_ #define VERSION_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif /*! \mainpage Introduction to CodePatterns * * This is the introductory page to the CodePatterns package. * *

Aim

* * The CodePatterns tries to contain a good set of prefactured design patterns * for your ease-of-use. Special emphasis is placed on \a immediate usability. * In most cases, you only have to know the type of design pattern you want, * let's call it foo, then include a \b foo.hpp in your definition, a * \b foo_impl.hpp in your implementation, maybe do some inheritance and your * good to go. At times you will need to call a macro such as \b * CONSTRUCT_FOO(..) which tells the pattern about your specific class or you * have to create a \b foo.def file containing some #define's with an equal * intention. But that's supposed to be it. * *

Overview of implemented patterns

* * - \ref Cacheable - class wraps a value obtained via some expensive * calculation and only performs update when necessary. * - \ref Clone - class can create copies of itself with specific interface, * copies can be manipulated at construction. * - \ref Creator - class can create copies of itself with specific interface. * - \ref Factory - contains table of Creator and spawns new instances on user * request. * - \ref ManipulablePrototypeFactory - contains table of clones or prototypes * and spawns new \a manipulated instances on user request. * - \ref Observer - class can observe changes in other class via this * interface. * - \ref PrototypeFactory - contains table of clones or prototypes and spawns * new instances on user request. * - \ref Registry - contains a map to instances which can be retrieved on * user request. * - \ref Singleton - global, unique instance of a class. */ extern const char *CODEPATTERNSVERSION; extern const char *CODEPATTERNSFULLVERSION; #endif /* VERSION_HPP_ */