Graphite
Version 3
An experimental 3D geometry processing program
|
Generic factory mechanism. More...
#include <geogram/basic/memory.h>
#include <geogram/basic/counted.h>
#include <string>
#include <map>
#include <vector>
#include <typeinfo>
Go to the source code of this file.
Classes | |
class | GEO::InstanceRepo |
Repository of unique instances. More... | |
class | GEO::Factory< FactoryCreator > |
Factory of typed objects. More... | |
struct | GEO::Factory< FactoryCreator >::RegisterCreator< ConcreteType > |
Helper class to register a creator. More... | |
struct | GEO::FactoryCreator0< Type > |
Factory creator without constructor arguments. More... | |
class | GEO::Factory0< Type > |
Factory for types without constructor arguments. More... | |
struct | GEO::FactoryCreator1< Type, Param1 > |
Factory creator with one argument. More... | |
class | GEO::Factory1< Type, Param1 > |
Factory for types with one constructor argument. More... | |
Namespaces | |
GEO | |
Global Vorpaline namespace. | |
Macros | |
#define | geo_register_creator(FactoryType, ConcreteType, name) |
Helper macro to register a creator. More... | |
Generic factory mechanism.
Definition in file factory.h.
#define geo_register_creator | ( | FactoryType, | |
ConcreteType, | |||
name | |||
) |
Helper macro to register a creator.
This declares a static instance of FactoryType::RegisterCreator to register a ConcreteType
creator in FactoryType
at program initialization time.
[in] | FactoryType | identifies the target Factory |
[in] | ConcreteType | the type of the object to create |
[in] | name | name of the ConcreteType creator in the Factory |