This is a templated derivate of class VTable. It is necessary to create singletons for arbitrary mapped types.
class alib::singletons;Singleton;Singleton< VTableTT<TPlainOrArray; TMapped> > "singletons;Singleton;Singleton< VTableTT<TPlainOrArray; TMapped> >"
| TPlainOrArray | Either type detail::TPlain or detail::TArrayOf. |
| TMapped | The mapped type. |
Definition at line 348 of file vtable.inl.
Private Method Index: | |
| constexpr | VTableTT () |
Additional Inherited Members | |
Public Type Index: inherited from VTable | |
| enum class | DbgFactoryType { Unregistered , Static , Dynamic } |
| enum | MappingType : integer { Value = 0 , Pointer = -1 , Enum = -2 } |
Public Static Method Index: inherited from Singleton< TDerivedClass > | |
| static TDerivedClass & | GetSingleton () |
Public Field Index: inherited from VTable | |
| uinteger | DbgCntUsage = 0 |
| DbgFactoryType | DbgProduction = DbgFactoryType::Unregistered |
| Debug information. | |
| const std::type_info & | ElementType |
| FunctionTable | Functions |
| Box-functions attached with BootstrapRegister. | |
| const MappingType | Mapping |
| const unsigned int | PlaceholderUsage |
| const std::type_info & | Type |
Public Method Index: inherited from VTable | |
| VTable (const std::type_info &type, const std::type_info &elementType, MappingType mapping, unsigned int placeholderUsage) | |
| virtual | ~VTable () |
| bool | IsArray () const |
| bool | IsEnum () const |
| bool | IsPointer () const |
Public Method Index: inherited from Singleton< TDerivedClass > | |
| virtual | ~Singleton () |
| Virtual destructor. | |
Protected Static Field Index: inherited from Singleton< TDerivedClass > | |
| static TDerivedClass * | singleton = nullptr |
| A pointer to the one and only singleton. | |
|
inlineconstexprprivate |
Constructor. Passes parameters as expected by parent class VTable.
This constructor is private, and class Singleton is a friend, which makes each template instance of this class being a 'strict' singleton (only that singleton instance exists).
Definition at line 361 of file vtable.inl.