ezconfig
Create C++ Objects from Yaml and Json
|
Factory base class. More...
Go to the source code of this file.
Classes | |
class | ezconfig::GeneralFactory< many, Base, Args > |
A Factory creates objects in a class hierarchy. More... | |
struct | ezconfig::has_factory< many, Base, Args > |
Type trait that marks existing factories. More... | |
Concepts | |
concept | ezconfig::Constructible |
Concept that identifies existing factories. | |
concept | ezconfig::ManyConstructible |
Concept that identifies existing factories. | |
Macros | |
#define | EZ_GENERAL_FACTORY_DECLARE(many, Base, ...) |
Declare a global factory instance. | |
#define | EZ_GENERAL_FACTORY_DEFINE(many, Base, ...) |
Define a global factory instance. | |
#define | EZ_GENERAL_FACTORY_INSTANCE(many, Base, ...) |
Retrieve the global factory instance. | |
#define | EZ_GENERAL_FACTORY_REGISTER(many, tag, creator, Base, ...) |
Register a tag and creator method in the global factory instance. | |
#define | EZ_FACTORY_DECLARE(Base, ...) |
#define | EZ_FACTORY_DEFINE(Base, ...) |
#define | EZ_FACTORY_INSTANCE(Base, ...) |
#define | EZ_FACTORY_REGISTER(tag, creator, Base, ...) |
Typedefs | |
template<typename Base , typename... Args> | |
using | ezconfig::Factory = GeneralFactory<false, Base, Args...> |
A factory that creates a single instance. | |
template<typename Base , typename... Args> | |
using | ezconfig::ManyFactory = GeneralFactory<false, Base, Args...> |
A factory that creates a vector of instances. | |
Factory base class.
Definition in file factory.hpp.
#define EZ_FACTORY_DECLARE | ( | Base, | |
... ) |
Definition at line 120 of file factory.hpp.
#define EZ_FACTORY_DEFINE | ( | Base, | |
... ) |
Definition at line 121 of file factory.hpp.
#define EZ_FACTORY_INSTANCE | ( | Base, | |
... ) |
Definition at line 122 of file factory.hpp.
#define EZ_FACTORY_REGISTER | ( | tag, | |
creator, | |||
Base, | |||
... ) |
Definition at line 123 of file factory.hpp.
#define EZ_GENERAL_FACTORY_DECLARE | ( | many, | |
Base, | |||
... ) |
Declare a global factory instance.
Definition at line 98 of file factory.hpp.
#define EZ_GENERAL_FACTORY_DEFINE | ( | many, | |
Base, | |||
... ) |
Define a global factory instance.
Definition at line 105 of file factory.hpp.
#define EZ_GENERAL_FACTORY_INSTANCE | ( | many, | |
Base, | |||
... ) |
Retrieve the global factory instance.
Definition at line 109 of file factory.hpp.
#define EZ_GENERAL_FACTORY_REGISTER | ( | many, | |
tag, | |||
creator, | |||
Base, | |||
... ) |
Register a tag and creator method in the global factory instance.
Definition at line 113 of file factory.hpp.
using ezconfig::Factory = GeneralFactory<false, Base, Args...> |
A factory that creates a single instance.
Definition at line 76 of file factory.hpp.
using ezconfig::ManyFactory = GeneralFactory<false, Base, Args...> |
A factory that creates a vector of instances.
Definition at line 82 of file factory.hpp.