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 28 of file vtable.inl.
Public Fields | |
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 >::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 Methods | |
template<typename TFDecl > | |
TFDecl::Signature | Get (bool isInvocation) const |
template<typename TFDecl > | |
void | Set (typename TFDecl::Signature implementation) |
Protected Methods | |
ALIB_API void * | getCustom (const std::type_info &rtti, bool isInvocation) const |
ALIB_API void | setCustom (const std::type_info &rtti, void *implementation) |
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 132 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 148 of file vtable.cpp.