ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
FunctionTable Struct Reference

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.

Collaboration diagram for FunctionTable:
[legend]

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 >::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)
 

Field Details:

◆ DbgCntInvocationsFAppend

uinteger DbgCntInvocationsFAppend =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 54 of file vtable.inl.

◆ DbgCntInvocationsFClone

uinteger DbgCntInvocationsFClone =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 51 of file vtable.inl.

◆ DbgCntInvocationsFEquals

uinteger DbgCntInvocationsFEquals =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 47 of file vtable.inl.

◆ DbgCntInvocationsFHashcode

uinteger DbgCntInvocationsFHashcode =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 45 of file vtable.inl.

◆ DbgCntInvocationsFIsLess

uinteger DbgCntInvocationsFIsLess =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 48 of file vtable.inl.

◆ DbgCntInvocationsFIsNotNull

uinteger DbgCntInvocationsFIsNotNull =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 46 of file vtable.inl.

◆ DbgCntInvocationsFIsTrue

uinteger DbgCntInvocationsFIsTrue =0
mutable

Debug-compilation counter for the number of invocations.

Definition at line 49 of file vtable.inl.

◆ fAppend

FAppend<character>::Signature fAppend = nullptr

Entry for built-in function FAppend .

Definition at line 42 of file vtable.inl.

◆ fClone

FClone::Signature fClone = nullptr

Entry for built-in function FClone .

Definition at line 39 of file vtable.inl.

◆ fEquals

FEquals::Signature fEquals = nullptr

Entry for built-in function FEquals .

Definition at line 35 of file vtable.inl.

◆ fHashcode

FHashcode::Signature fHashcode = nullptr

Entry for built-in function FHashcode .

Definition at line 33 of file vtable.inl.

◆ fIsLess

FIsLess::Signature fIsLess = nullptr

Entry for built-in function FIsLess .

Definition at line 36 of file vtable.inl.

◆ fIsNotNull

FIsNotNull::Signature fIsNotNull = nullptr

Entry for built-in function FIsNotNull .

Definition at line 34 of file vtable.inl.

◆ fIsTrue

FIsTrue::Signature fIsTrue = nullptr

Entry for built-in function FIsTrue .

Definition at line 37 of file vtable.inl.

Method Details:

◆ Get()

template<typename TFDecl >
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()

template<typename TFDecl >
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: