This struct is used internally with ALib Boxing to provide run-time type information and virtual method invocations to boxed values. A singleton instance of a derived type of this class is attached to each Box. Such derived type is generated using templated derived struct VTable.
Definition at line 26 of file vtable.inl.
Public Static Method Index: | |
static ALIB_API void | Shutdown () |
Needs to be called only in debug versions to shut down internal hashtables cleanly. | |
Public Field Index: | |
uinteger | DbgCntInvocationsFAppend =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFClone =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFEquals =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFHashcode =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFIsLess =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFIsNotNull =0 |
Debug-compilation counter for the number of invocations. | |
uinteger | DbgCntInvocationsFIsTrue =0 |
Debug-compilation counter for the number of invocations. | |
FAppend< character, lang::HeapAllocator >::Signature | fAppend = nullptr |
Entry for built-in function FAppend<character>. | |
FClone::Signature | fClone = nullptr |
Entry for built-in function FClone. | |
FEquals::Signature | fEquals = nullptr |
Entry for built-in function FEquals. | |
FHashcode::Signature | fHashcode = nullptr |
Entry for built-in function FHashcode. | |
FIsLess::Signature | fIsLess = nullptr |
Entry for built-in function FIsLess. | |
FIsNotNull::Signature | fIsNotNull = nullptr |
Entry for built-in function FIsNotNull. | |
FIsTrue::Signature | fIsTrue = nullptr |
Entry for built-in function FIsTrue. | |
Public Method Index: | |
template<typename TFDecl > | |
TFDecl::Signature | Get (bool isInvocation) const |
template<typename TFDecl > | |
void | Set (typename TFDecl::Signature implementation) |
Protected Method Index: | |
ALIB_API void * | getCustom (const std::type_info &rtti, bool isInvocation) const |
ALIB_API void | setCustom (const std::type_info &rtti, void *implementation) |
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 52 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 49 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 45 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 43 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 46 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 44 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 47 of file vtable.inl.
FAppend<character,lang::HeapAllocator>::Signature fAppend = nullptr |
Entry for built-in function FAppend<character>.
Definition at line 40 of file vtable.inl.
FClone::Signature fClone = nullptr |
Entry for built-in function FClone.
Definition at line 37 of file vtable.inl.
FEquals::Signature fEquals = nullptr |
Entry for built-in function FEquals.
Definition at line 33 of file vtable.inl.
FHashcode::Signature fHashcode = nullptr |
Entry for built-in function FHashcode.
Definition at line 31 of file vtable.inl.
FIsLess::Signature fIsLess = nullptr |
Entry for built-in function FIsLess.
Definition at line 34 of file vtable.inl.
FIsNotNull::Signature fIsNotNull = nullptr |
Entry for built-in function FIsNotNull.
Definition at line 32 of file vtable.inl.
FIsTrue::Signature fIsTrue = nullptr |
Entry for built-in function FIsTrue.
Definition at line 35 of file vtable.inl.
TFDecl::Signature Get | ( | bool | isInvocation | ) | const |
Receives the function of type TFDecl.
TFDecl | The function type to get. |
isInvocation | If true , the invocation counter is increased. This parameter is defined only in debug-compilations. |
nullptr
in case it was not defined.
|
protected |
Non-inline implementation of Get used in the case of non-built-in functions.
rtti | The typeid of the function to get. |
isInvocation | If true , the invocation counter is increased. This parameter is defined only in debug-compilations. |
Definition at line 127 of file vtable.cpp.
void Set | ( | typename TFDecl::Signature | implementation | ) |
Registers an implementation of the function of type TFDecl.
TFDecl | The function type to register. |
implementation | The implementation of the function. |
|
protected |
Non-inline implementation of Set Get used in the case of non-built-in functions.
rtti | The typeid of the function to register. |
implementation | The implementation of the function. |
Definition at line 143 of file vtable.cpp.
|
static |
Needs to be called only in debug versions to shut down internal hashtables cleanly.
Definition at line 115 of file vtable.cpp.