22 template<
class ClassToCreate,
class ...ConstructorArgs>
46 virtual ClassToCreate*
create(ConstructorArgs&&... constructorArgs);
65 template <
typename ClassToCreate>
68 template<
class ClassToCreate,
class ...ConstructorArgs>
75 template<
class ClassToCreate,
class ...ConstructorArgs>
81 template<
class ClassToCreate,
class ...ConstructorArgs>
84 std::string creatorType = creatorTypeName<ClassToCreate>();
95 template<
class ClassToCreate,
class ...ConstructorArgs>
99 return new ClassToCreate(myDe, std::forward<ConstructorArgs>(constructorArgs)...);
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtVirtualBaseClassCreator()=delete
not allowed
static ClassToCreate * classToCreateType
Should only be used by decltype() calls to get the type of the base class being created.
Definition: DtVirtualBaseClassCreator.h:54
const char * creatorTypeName(void)=delete
static DtVirtualBaseClassCreator & instance(DtDe &de)
Get an instance of the creator, if it does not exist then register it with DtDe.
Definition: DtVirtualBaseClassCreator.h:82
Contains makVrv::DtDe class.
virtual ClassToCreate * create(ConstructorArgs &&...constructorArgs)
Create a DtVirtualBaseClassCreator object, calls ClassToCreate constructor with myDe and ConstructorA...
Definition: DtVirtualBaseClassCreator.h:96
virtual DtVirtualBaseClass * findInstance(const std::string &instanceName) const
Find an instance with the given name. If no instance is found than a null pointer is returned...
DtDe & myDe
Definition: DtVirtualBaseClassCreator.h:51
DtVirtualBaseClassCreator & operator=(const DtVirtualBaseClassCreator &other)=delete
Assignment Operator Not implemented – Assignment Not Allowed.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
Contains makVrv::DtVirtualBaseClass class.
virtual void registerInstance(const std::string &instanceName, DtVirtualBaseClass *instance)
Register an instance with a given name for later retrieval. Once registered, the DtDe takes ownership...
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
virtual ~DtVirtualBaseClassCreator()
DTOR.
Definition: DtVirtualBaseClassCreator.h:76
Contains DLL export macros.