This struct is used internally with ALib Boxing to provide runtime 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.hpp.
#include <vtable.hpp>
Public Static Method Index: | |
| static 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: | |
| void * | getCustom (const std::type_info &rtti, bool isInvocation) const |
| void | setCustom (const std::type_info &rtti, void *implementation) |
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 45 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 42 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 38 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 36 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 39 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 37 of file vtable.hpp.
|
mutable |
Debug-compilation counter for the number of invocations.
Definition at line 40 of file vtable.hpp.
| FAppend<character,lang::HeapAllocator> ::Signature alib::boxing::detail::FunctionTable::fAppend = nullptr |
< Entry for built-in function FAppend.
Definition at line 33 of file vtable.hpp.
| FClone::Signature alib::boxing::detail::FunctionTable::fClone = nullptr |
Entry for built-in function FClone.
Definition at line 29 of file vtable.hpp.
| FEquals::Signature alib::boxing::detail::FunctionTable::fEquals = nullptr |
Entry for built-in function FEquals.
Definition at line 25 of file vtable.hpp.
| FHashcode::Signature alib::boxing::detail::FunctionTable::fHashcode = nullptr |
Entry for built-in function FHashcode.
Definition at line 23 of file vtable.hpp.
| FIsLess::Signature alib::boxing::detail::FunctionTable::fIsLess = nullptr |
Entry for built-in function FIsLess.
Definition at line 26 of file vtable.hpp.
| FIsNotNull::Signature alib::boxing::detail::FunctionTable::fIsNotNull = nullptr |
Entry for built-in function FIsNotNull.
Definition at line 24 of file vtable.hpp.
| FIsTrue::Signature alib::boxing::detail::FunctionTable::fIsTrue = nullptr |
Entry for built-in function FIsTrue.
Definition at line 27 of file vtable.hpp.
| 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 67 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 81 of file vtable.cpp.
|
static |
Needs to be called only in debug versions to shut down internal hashtables cleanly.
Definition at line 56 of file vtable.cpp.