ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Fields | Public Methods | Protected Methods | List of all members
FunctionTable Struct Reference
Collaboration diagram for FunctionTable:
[legend]

Class Description


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)
 

Member Function Documentation

◆ Get()

TFDecl::Signature Get ( bool  isInvocation) const

Receives the function of type TFDecl.

Template Parameters
TFDeclThe function type to get.
Parameters
isInvocationIf true, the invocation counter is increased. This parameter is defined only in debug-compilations.
Returns
The function found, or nullptr in case it was not defined.

◆ getCustom()

void * getCustom ( const std::type_info &  rtti,
bool  isInvocation 
) const
protected

Non-inline implementation of Get used in the case of non-built-in functions.

Parameters
rttiThe typeid of the function to get.
isInvocationIf true, the invocation counter is increased. This parameter is defined only in debug-compilations.
Returns
The pointer to the box-function.

Definition at line 132 of file vtable.cpp.

◆ Set()

void Set ( typename TFDecl::Signature  implementation)

Registers an implementation of the function of type TFDecl.

Template Parameters
TFDeclThe function type to register.
Parameters
implementationThe implementation of the function.

◆ setCustom()

void setCustom ( const std::type_info &  rtti,
void *  implementation 
)
protected

Non-inline implementation of Set Get used in the case of non-built-in functions.

Parameters
rttiThe typeid of the function to register.
implementationThe implementation of the function.

Definition at line 148 of file vtable.cpp.


The documentation for this struct was generated from the following files: