Macros
className.H File Reference

Macro definitions for declaring ClassName(), NamespaceName(), etc. More...

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

Go to the source code of this file.

Macros

#define ClassNameNoDebug(TypeNameString)
 
#define NamespaceNameNoDebug(TypeNameString)
 
#define TemplateNameNoDebug(TemplateNameString)
 
#define ClassName(TypeNameString)
 
#define NamespaceName(TypeNameString)
 
#define TemplateName(TemplateNameString)
 
#define defineTypeNameWithName(Type, Name)   const ::Foam::word Type::typeName(Name)
 
#define defineTypeName(Type)   defineTypeNameWithName(Type, Type::typeName_())
 
#define defineTemplateTypeNameWithName(Type, Name)
 
#define defineTemplate2TypeNameWithName(Type, Name)
 
#define defineTemplateTypeName(Type)   defineTemplateTypeNameWithName(Type, #Type)
 
#define defineNamedTemplateTypeName(Type)   defineTemplateTypeNameWithName(Type, Type::typeName_())
 
#define defineTypeNameAndDebug(Type, DebugSwitch)
 
#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch)
 
#define defineTemplateTypeNameAndDebug(Type, DebugSwitch)   defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)
 
#define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch)
 
#define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch)
 
#define defineTemplate2TypeNameAndDebug(Type, DebugSwitch)   defineTemplate2TypeNameAndDebugWithName(Type, #Type, DebugSwitch)
 

Detailed Description

Macro definitions for declaring ClassName(), NamespaceName(), etc.

Original source file className.H

Definition in file className.H.

Macro Definition Documentation

◆ ClassNameNoDebug

#define ClassNameNoDebug (   TypeNameString)
Value:
static const char* typeName_() { return TypeNameString; } \
static const ::Foam::word typeName

Definition at line 38 of file className.H.

◆ NamespaceNameNoDebug

#define NamespaceNameNoDebug (   TypeNameString)
Value:
inline const char* typeName_() { return TypeNameString; } \
extern const ::Foam::word typeName

Definition at line 47 of file className.H.

◆ TemplateNameNoDebug

#define TemplateNameNoDebug (   TemplateNameString)
Value:
class TemplateNameString##Name \
{ \
public: \
TemplateNameString##Name() {} \
ClassNameNoDebug(#TemplateNameString); \
}

Definition at line 56 of file className.H.

◆ ClassName

#define ClassName (   TypeNameString)
Value:
ClassNameNoDebug(TypeNameString); \
static int debug

Definition at line 73 of file className.H.

◆ NamespaceName

#define NamespaceName (   TypeNameString)
Value:
NamespaceNameNoDebug(TypeNameString); \
extern int debug

Definition at line 82 of file className.H.

◆ TemplateName

#define TemplateName (   TemplateNameString)
Value:
class TemplateNameString##Name \
{ \
public: \
TemplateNameString##Name() {} \
ClassName(#TemplateNameString); \
}

Definition at line 91 of file className.H.

◆ defineTypeNameWithName

#define defineTypeNameWithName (   Type,
  Name 
)    const ::Foam::word Type::typeName(Name)

Definition at line 106 of file className.H.

◆ defineTypeName

#define defineTypeName (   Type)    defineTypeNameWithName(Type, Type::typeName_())

Definition at line 112 of file className.H.

◆ defineTemplateTypeNameWithName

#define defineTemplateTypeNameWithName (   Type,
  Name 
)
Value:

Definition at line 118 of file className.H.

◆ defineTemplate2TypeNameWithName

#define defineTemplate2TypeNameWithName (   Type,
  Name 
)
Value:

Definition at line 124 of file className.H.

◆ defineTemplateTypeName

#define defineTemplateTypeName (   Type)    defineTemplateTypeNameWithName(Type, #Type)

Definition at line 131 of file className.H.

◆ defineNamedTemplateTypeName

#define defineNamedTemplateTypeName (   Type)    defineTemplateTypeNameWithName(Type, Type::typeName_())

Definition at line 137 of file className.H.

◆ defineTypeNameAndDebug

#define defineTypeNameAndDebug (   Type,
  DebugSwitch 
)
Value:
defineTypeName(Type); \
defineDebugSwitch(Type, DebugSwitch)

Definition at line 147 of file className.H.

◆ defineTemplateTypeNameAndDebugWithName

#define defineTemplateTypeNameAndDebugWithName (   Type,
  Name,
  DebugSwitch 
)
Value:
defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch)

Definition at line 154 of file className.H.

◆ defineTemplateTypeNameAndDebug

#define defineTemplateTypeNameAndDebug (   Type,
  DebugSwitch 
)    defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)

Definition at line 163 of file className.H.

◆ defineNamedTemplateTypeNameAndDebug

#define defineNamedTemplateTypeNameAndDebug (   Type,
  DebugSwitch 
)
Value:
defineNamedTemplateDebugSwitch(Type, DebugSwitch)

Definition at line 169 of file className.H.

◆ defineTemplate2TypeNameAndDebugWithName

#define defineTemplate2TypeNameAndDebugWithName (   Type,
  Name,
  DebugSwitch 
)
Value:
defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch)

Definition at line 180 of file className.H.

◆ defineTemplate2TypeNameAndDebug

#define defineTemplate2TypeNameAndDebug (   Type,
  DebugSwitch 
)    defineTemplate2TypeNameAndDebugWithName(Type, #Type, DebugSwitch)

Definition at line 189 of file className.H.

Foam::expressions::patchExpr::debug
int debug
defineTemplateTypeNameWithName
#define defineTemplateTypeNameWithName(Type, Name)
Definition: className.H:118
defineTypeNameWithName
#define defineTypeNameWithName(Type, Name)
Definition: className.H:106
defineNamedTemplateTypeName
#define defineNamedTemplateTypeName(Type)
Definition: className.H:137
defineTemplate2TypeNameWithName
#define defineTemplate2TypeNameWithName(Type, Name)
Definition: className.H:124
NamespaceNameNoDebug
#define NamespaceNameNoDebug(TypeNameString)
Definition: className.H:47
ClassNameNoDebug
#define ClassNameNoDebug(TypeNameString)
Definition: className.H:38
defineTypeName
#define defineTypeName(Type)
Definition: className.H:112