memberFunctionSelectionTables.H File Reference
Include dependency graph for memberFunctionSelectionTables.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define declareMemberFunctionSelectionTable( returnType, baseType, memberFunction, argNames, argList, parList)
 Declare a run-time selection: More...
 
#define defineMemberFunctionSelectionTableMemberFunction( baseType, memberFunction, argNames)
 
#define defineMemberFunctionSelectionTableDestructor( baseType, memberFunction, argNames)
 
#define defineMemberFunctionSelectionTablePtr(baseType, memberFunction, argNames)
 
#define defineMemberFunctionSelectionTable(baseType, memberFunction, argNames)
 Define run-time selection table. More...
 
#define defineTemplateMemberFunctionSelectionTable( baseType, memberFunction, argNames)
 Define run-time selection table for template classes. More...
 
#define defineTemplatedMemberFunctionSelectionTableMemberFunction( baseType, memberFunction, argNames, Targ)
 
#define defineTemplatedMemberFunctionSelectionTableDestructor( baseType, memberFunction, argNames, Targ)
 
#define defineTemplatedMemberFunctionSelectionTablePtr( baseType, memberFunction, argNames, Targ)
 
#define defineTemplatedMemberFunctionSelectionTable( baseType, memberFunction, argNames, Targ)
 Define run-time selection table for template classes. More...
 

Detailed Description

Original source file memberFunctionSelectionTables.H

Definition in file memberFunctionSelectionTables.H.

Macro Definition Documentation

◆ declareMemberFunctionSelectionTable

#define declareMemberFunctionSelectionTable (   returnType,
  baseType,
  memberFunction,
  argNames,
  argList,
  parList 
)

Declare a run-time selection:

Definition at line 41 of file memberFunctionSelectionTables.H.

◆ defineMemberFunctionSelectionTableMemberFunction

#define defineMemberFunctionSelectionTableMemberFunction (   baseType,
  memberFunction,
  argNames 
)
Value:
\
/* Table memberFunction called from the table add function */ \
void baseType::construct##memberFunction##argNames##MemberFunctionTables() \
{ \
static bool constructed = false; \
if (!constructed) \
{ \
constructed = true; \
baseType::memberFunction##argNames##MemberFunctionTablePtr_ \
= new baseType::memberFunction##argNames##MemberFunctionTable; \
} \
}

Definition at line 89 of file memberFunctionSelectionTables.H.

◆ defineMemberFunctionSelectionTableDestructor

#define defineMemberFunctionSelectionTableDestructor (   baseType,
  memberFunction,
  argNames 
)
Value:
\
/* Table destructor called from the table add function destructor */ \
void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \
{ \
if (baseType::memberFunction##argNames##MemberFunctionTablePtr_) \
{ \
delete baseType::memberFunction##argNames##MemberFunctionTablePtr_;\
baseType::memberFunction##argNames##MemberFunctionTablePtr_ = \
nullptr; \
} \
}

Definition at line 106 of file memberFunctionSelectionTables.H.

◆ defineMemberFunctionSelectionTablePtr

#define defineMemberFunctionSelectionTablePtr (   baseType,
  memberFunction,
  argNames 
)
Value:
\
/* Define the memberFunction table */ \
baseType::memberFunction##argNames##MemberFunctionTable* \
baseType::memberFunction##argNames##MemberFunctionTablePtr_ = nullptr

Definition at line 122 of file memberFunctionSelectionTables.H.

◆ defineMemberFunctionSelectionTable

#define defineMemberFunctionSelectionTable (   baseType,
  memberFunction,
  argNames 
)
Value:
\
defineMemberFunctionSelectionTablePtr \
(baseType,memberFunction,argNames); \
defineMemberFunctionSelectionTableMemberFunction \
(baseType,memberFunction,argNames) \
(baseType,memberFunction,argNames)
#define defineMemberFunctionSelectionTableDestructor( baseType, memberFunction, argNames)

Define run-time selection table.

Definition at line 133 of file memberFunctionSelectionTables.H.

◆ defineTemplateMemberFunctionSelectionTable

#define defineTemplateMemberFunctionSelectionTable (   baseType,
  memberFunction,
  argNames 
)
Value:
\
template<> \
defineMemberFunctionSelectionTablePtr \
(baseType,memberFunction,argNames); \
template<> \
defineMemberFunctionSelectionTableMemberFunction \
(baseType,memberFunction,argNames) \
template<> \
(baseType,memberFunction,argNames)
#define defineMemberFunctionSelectionTableDestructor( baseType, memberFunction, argNames)

Define run-time selection table for template classes.

use when baseType doesn't need a template argument (eg, is a typedef)

Definition at line 145 of file memberFunctionSelectionTables.H.

◆ defineTemplatedMemberFunctionSelectionTableMemberFunction

#define defineTemplatedMemberFunctionSelectionTableMemberFunction (   baseType,
  memberFunction,
  argNames,
  Targ 
)
Value:
\
/* Table memberFunction called from the table add function */ \
void baseType<Targ>::construct##memberFunction##argNames## \
MemberFunctionTables() \
{ \
static bool constructed = false; \
if (!constructed) \
{ \
constructed = true; \
baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \
= new baseType<Targ>::memberFunction##argNames## \
MemberFunctionTable; \
} \
}

Definition at line 162 of file memberFunctionSelectionTables.H.

◆ defineTemplatedMemberFunctionSelectionTableDestructor

#define defineTemplatedMemberFunctionSelectionTableDestructor (   baseType,
  memberFunction,
  argNames,
  Targ 
)
Value:
\
/* Table destructor called from the table add function destructor */ \
void baseType<Targ>::destroy##memberFunction##argNames## \
MemberFunctionTables() \
{ \
if \
( \
baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \
) \
{ \
delete baseType<Targ>::memberFunction##argNames## \
MemberFunctionTablePtr_; \
baseType<Targ>::memberFunction##argNames## \
MemberFunctionTablePtr_ = nullptr; \
} \
}

Definition at line 182 of file memberFunctionSelectionTables.H.

◆ defineTemplatedMemberFunctionSelectionTablePtr

#define defineTemplatedMemberFunctionSelectionTablePtr (   baseType,
  memberFunction,
  argNames,
  Targ 
)
Value:
\
/* Define the memberFunction table */ \
baseType<Targ>::memberFunction##argNames##MemberFunctionTable* \
baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ = \
nullptr

Definition at line 204 of file memberFunctionSelectionTables.H.

◆ defineTemplatedMemberFunctionSelectionTable

#define defineTemplatedMemberFunctionSelectionTable (   baseType,
  memberFunction,
  argNames,
  Targ 
)
Value:
\
template<> \
defineTemplatedMemberFunctionSelectionTablePtr \
(baseType,memberFunction,argNames,Targ); \
template<> \
defineTemplatedMemberFunctionSelectionTableMemberFunction \
(baseType,memberFunction,argNames,Targ) \
template<> \
(baseType,memberFunction,argNames,Targ)
#define defineTemplatedMemberFunctionSelectionTableDestructor( baseType, memberFunction, argNames, Targ)

Define run-time selection table for template classes.

use when baseType requires the Targ template argument

Definition at line 215 of file memberFunctionSelectionTables.H.