Go to the documentation of this file.
44 #define ClassNameNoDebug(TypeNameString) \
45 static const char* typeName_() { return TypeNameString; } \
46 static const ::Foam::word typeName
50 #define NamespaceNameNoDebug(TypeNameString) \
51 inline const char* typeName_() { return TypeNameString; } \
52 extern const ::Foam::word typeName
56 #define TemplateNameNoDebug(TemplateNameString) \
57 class TemplateNameString##Name \
60 TemplateNameString##Name() {} \
61 ClassNameNoDebug(#TemplateNameString); \
73 #define ClassName(TypeNameString) \
74 ClassNameNoDebug(TypeNameString); \
79 #define NamespaceName(TypeNameString) \
80 NamespaceNameNoDebug(TypeNameString); \
85 #define TemplateName(TemplateNameString) \
86 class TemplateNameString##Name \
89 TemplateNameString##Name() {} \
90 ClassName(#TemplateNameString); \
101 #define defineTypeNameWithName(Type, Name) \
102 const ::Foam::word Type::typeName(Name)
105 #define defineTypeName(Type) \
106 defineTypeNameWithName(Type, Type::typeName_())
108 #ifdef __INTEL_COMPILER
110 # define defineTemplateTypeNameWithName(Type, Name) \
111 defineTypeNameWithName(Type, Name)
114 # define defineTemplateTypeNameWithName(Type, Name) \
116 defineTypeNameWithName(Type, Name)
120 #define defineTemplateTypeName(Type) \
121 defineTemplateTypeNameWithName(Type, #Type)
124 #define defineNamedTemplateTypeName(Type) \
125 defineTemplateTypeNameWithName(Type, Type::typeName_())
135 #define defineDebugSwitchWithName(Type, Name, DebugSwitch) \
136 int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch))
139 #define defineDebugSwitch(Type, DebugSwitch) \
140 defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch)
142 #ifdef __INTEL_COMPILER
144 # define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \
145 defineDebugSwitchWithName(Type, Name, DebugSwitch)
148 # define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \
150 defineDebugSwitchWithName(Type, Name, DebugSwitch)
155 #define defineTemplateDebugSwitch(Type, DebugSwitch) \
156 defineTemplateDebugSwitchWithName(Type, #Type, DebugSwitch)
159 #define defineNamedTemplateDebugSwitch(Type, DebugSwitch) \
160 defineTemplateDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch)
170 #define defineTypeNameAndDebug(Type, DebugSwitch) \
171 defineTypeName(Type); \
172 defineDebugSwitch(Type, DebugSwitch)
175 #define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \
176 defineTemplateTypeNameWithName(Type, Name); \
177 defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch)
180 #define defineTemplateTypeNameAndDebug(Type, DebugSwitch) \
181 defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)
184 #define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch) \
185 defineNamedTemplateTypeName(Type); \
186 defineNamedTemplateDebugSwitch(Type, DebugSwitch)