38 inline static Factory* maker =
nullptr;
50 template<
typename T,
typename... Args>
52 auto maker =
reinterpret_cast<T::Factory*
>(T::Factory::maker);
53 return (*maker)(args...);
CoreFactory core class for OOP factory framework.
Definition: factory.hpp:13
virtual ~CoreFactory()=default
Default destructor.
virtual void set_default()=0
Set this factory as default.
Templated implementation of Factory class.
Definition: factory.hpp:35
void set_default() override
Set this factory as default.
Definition: factory.hpp:41
T * make(Args &... args)
Templated class creator.
Definition: factory.hpp:51
void set_factory(CoreFactory &factory)
Set factory as default.
Definition: factory.hpp:25