Go to the documentation of this file.
42 #define ClassNameNoDebug(TypeNameString) \
43 static const char* typeName_() { return TypeNameString; } \
44 static const ::Foam::word typeName
48 #define NamespaceNameNoDebug(TypeNameString) \
49 inline const char* typeName_() { return TypeNameString; } \
50 extern const ::Foam::word typeName
54 #define TemplateNameNoDebug(TemplateNameString) \
55 class TemplateNameString##Name \
58 TemplateNameString##Name() {} \
59 ClassNameNoDebug(#TemplateNameString); \
69 #define ClassName(TypeNameString) \
70 ClassNameNoDebug(TypeNameString); \
75 #define NamespaceName(TypeNameString) \
76 NamespaceNameNoDebug(TypeNameString); \
81 #define TemplateName(TemplateNameString) \
82 class TemplateNameString##Name \
85 TemplateNameString##Name() {} \
86 ClassName(#TemplateNameString); \
95 #define defineTypeNameWithName(Type, Name) \
96 const ::Foam::word Type::typeName(Name)
99 #define defineTypeName(Type) \
100 defineTypeNameWithName(Type, Type::typeName_())
103 # define defineTemplateTypeNameWithName(Type, Name) \
105 defineTypeNameWithName(Type, Name)
107 # define defineTemplate2TypeNameWithName(Type, Name) \
109 defineTypeNameWithName(Type, Name)
112 #define defineTemplateTypeName(Type) \
113 defineTemplateTypeNameWithName(Type, #Type)
116 #define defineNamedTemplateTypeName(Type) \
117 defineTemplateTypeNameWithName(Type, Type::typeName_())
125 #define defineTypeNameAndDebug(Type, DebugSwitch) \
126 defineTypeName(Type); \
127 defineDebugSwitch(Type, DebugSwitch)
130 #define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \
131 defineTemplateTypeNameWithName(Type, Name); \
132 defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch)
136 #define defineTemplateTypeNameAndDebug(Type, DebugSwitch) \
137 defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)
140 #define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch) \
141 defineNamedTemplateTypeName(Type); \
142 defineNamedTemplateDebugSwitch(Type, DebugSwitch)
147 #define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \
148 defineTemplate2TypeNameWithName(Type, Name); \
149 defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch)
153 #define defineTemplate2TypeNameAndDebug(Type, DebugSwitch) \
154 defineTemplate2TypeNameAndDebugWithName(Type, #Type, DebugSwitch)
#define defineTemplateTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information for templates, useful.
#define TemplateNameNoDebug(TemplateNameString)
Add typeName information from argument TemplateNameString to a.
#define defineTemplate2TypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information for templates, useful.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
#define TemplateName(TemplateNameString)
Add typeName information from argument TypeNameString to a.
#define NamespaceNameNoDebug(TypeNameString)
Add typeName information from argument TypeNameString to a namespace.
#define ClassNameNoDebug(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Macro definitions for debug switches.
#define NamespaceName(TypeNameString)
Add typeName information from argument TypeNameString to a namespace.