Go to the documentation of this file.
31 #ifndef addToRunTimeSelectionTable_H
32 #define addToRunTimeSelectionTable_H
37 #define addToRunTimeSelectionTable\
38 (baseType,thisType,argNames) \
41 baseType::add##argNames##ConstructorToTable<thisType> \
42 add##thisType##argNames##ConstructorTo##baseType##Table_
46 #define addNamedToRunTimeSelectionTable\
47 (baseType,thisType,argNames,lookup) \
50 baseType::add##argNames##ConstructorToTable<thisType> \
51 add_##lookup##_##thisType##argNames##ConstructorTo##baseType##Table_ \
56 #define addRemovableToRunTimeSelectionTable\
57 (baseType,thisType,argNames) \
60 baseType::addRemovable##argNames##ConstructorToTable<thisType> \
61 addRemovable##thisType##argNames##ConstructorTo##baseType##Table_
65 #define addRemovableNamedToRunTimeSelectionTable\
66 (baseType,thisType,argNames,lookup) \
69 baseType::addRemovable##argNames##ConstructorToTable<thisType> \
70 addRemovable_##lookup##_##thisType##argNames##ConstructorTo \
71 ##baseType##Table_(#lookup)
78 #define addTemplateToRunTimeSelectionTable\
79 (baseType,thisType,Targ,argNames) \
82 baseType::add##argNames##ConstructorToTable<thisType<Targ>> \
83 add##thisType##Targ##argNames##ConstructorTo##baseType##Table_
88 #define addNamedTemplateToRunTimeSelectionTable\
89 (baseType,thisType,Targ,argNames,lookup) \
92 baseType::add##argNames##ConstructorToTable<thisType<Targ>> \
93 add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType \
101 #define addTemplatedToRunTimeSelectionTable\
102 (baseType,thisType,Targ,argNames) \
105 baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \
106 add##thisType##Targ##argNames##ConstructorTo##baseType##Targ##Table_
111 #define addNamedTemplatedToRunTimeSelectionTable\
112 (baseType,thisType,Targ,argNames,lookup) \
115 baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \
116 add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType## \
117 Targ##Table_(#lookup)
#define addNamedTemplateToRunTimeSelectionTable(baseType, thisType, Targ, argNames, lookup)
Add to hash-table of functions with 'lookup' as the key.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
#define addTemplateToRunTimeSelectionTable(baseType, thisType, Targ, argNames)
Add to hash-table of functions with typename as the key.
#define addTemplatedToRunTimeSelectionTable(baseType, thisType, Targ, argNames)
Add to hash-table of functions with typename as the key.
#define addNamedTemplatedToRunTimeSelectionTable(baseType, thisType, Targ, argNames, lookup)
Add to hash-table of functions with 'lookup' as the key.