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 19 of file vtable.inl.
Public Static Method Index: | |
static ALIB_DLL 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. | |
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_DLL void * | getCustom (const std::type_info &rtti, bool isInvocation) const |
ALIB_DLL void | setCustom (const std::type_info &rtti, void *implementation) |
|
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 43 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 39 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 37 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 40 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 38 of file vtable.inl.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 41 of file vtable.inl.
FAppend<character,lang::HeapAllocator>::Signature alib::boxing::detail::FunctionTable::fAppend = nullptr |
Entry for built-in function FAppend.
Definition at line 34 of file vtable.inl.
FClone::Signature alib::boxing::detail::FunctionTable::fClone = nullptr |
Entry for built-in function FClone.
Definition at line 30 of file vtable.inl.
FEquals::Signature alib::boxing::detail::FunctionTable::fEquals = nullptr |
Entry for built-in function FEquals.
Definition at line 26 of file vtable.inl.
FHashcode::Signature alib::boxing::detail::FunctionTable::fHashcode = nullptr |
Entry for built-in function FHashcode.
Definition at line 24 of file vtable.inl.
FIsLess::Signature alib::boxing::detail::FunctionTable::fIsLess = nullptr |
Entry for built-in function FIsLess.
Definition at line 27 of file vtable.inl.
FIsNotNull::Signature alib::boxing::detail::FunctionTable::fIsNotNull = nullptr |
Entry for built-in function FIsNotNull.
Definition at line 25 of file vtable.inl.
FIsTrue::Signature alib::boxing::detail::FunctionTable::fIsTrue = nullptr |
Entry for built-in function FIsTrue.
Definition at line 28 of file vtable.inl.
TFDecl::Signature alib::boxing::detail::FunctionTable::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 111 of file vtable.cpp.
void alib::boxing::detail::FunctionTable::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 127 of file vtable.cpp.
|
static |
Needs to be called only in debug versions to shut down internal hashtables cleanly.
Definition at line 99 of file vtable.cpp.