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)
 Add typeName information from argument TypeNameString to a class. More...
 
#define NamespaceNameNoDebug(TypeNameString)
 Add typeName information from argument TypeNameString to a namespace. More...
 
#define TemplateNameNoDebug(TemplateNameString)
 Add typeName information from argument TemplateNameString to a. More...
 
#define ClassName(TypeNameString)
 Add typeName information from argument TypeNameString to a class. More...
 
#define NamespaceName(TypeNameString)
 Add typeName information from argument TypeNameString to a namespace. More...
 
#define TemplateName(TemplateNameString)
 Add typeName information from argument TypeNameString to a. More...
 
#define defineTypeNameWithName(Type, Name)    const ::Foam::word Type::typeName(Name)
 Define the typeName, with alternative lookup as Name. More...
 
#define defineTypeName(Type)    defineTypeNameWithName(Type, Type::typeName_())
 Define the typeName. More...
 
#define defineTemplateTypeNameWithName(Type, Name)
 Define the typeName as Name for template classes. More...
 
#define defineTemplate2TypeNameWithName(Type, Name)
 Define the typeName as Name for template sub-classes. More...
 
#define defineTemplateTypeName(Type)    defineTemplateTypeNameWithName(Type, #Type)
 Define the typeName for template classes, useful with typedefs. More...
 
#define defineNamedTemplateTypeName(Type)    defineTemplateTypeNameWithName(Type, Type::typeName_())
 Define the typeName directly for template classes. More...
 
#define defineTypeNameAndDebug(Type, DebugSwitch)
 Define the typeName and debug information. More...
 
#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch)
 Define the typeName and debug information, lookup as Name. More...
 
#define defineTemplateTypeNameAndDebug(Type, DebugSwitch)    defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)
 Define the typeName and debug information for templates, useful. More...
 
#define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch)
 Define the typeName and debug information for templates. More...
 
#define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch)
 Define the typeName and debug information, lookup as Name. More...
 
#define defineTemplate2TypeNameAndDebug(Type, DebugSwitch)    defineTemplate2TypeNameAndDebugWithName(Type, #Type, DebugSwitch)
 Define the typeName and debug information for templates, useful. More...
 

Detailed Description

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

Original source file className.H

Definition in file className.H.

Macro Definition Documentation

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

Add typeName information from argument TypeNameString to a class.

Without debug information

Definition at line 42 of file className.H.

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

Add typeName information from argument TypeNameString to a namespace.

Without debug information.

Definition at line 48 of file className.H.

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

Add typeName information from argument TemplateNameString to a.

template class. Without debug information.

Definition at line 54 of file className.H.

#define ClassName (   TypeNameString)
Value:
ClassNameNoDebug(TypeNameString); \
static int debug
#define ClassNameNoDebug(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Definition: className.H:42

Add typeName information from argument TypeNameString to a class.

Also declares debug information.

Definition at line 69 of file className.H.

Referenced by objectRegistry::names().

#define NamespaceName (   TypeNameString)
Value:
NamespaceNameNoDebug(TypeNameString); \
extern int debug
#define NamespaceNameNoDebug(TypeNameString)
Add typeName information from argument TypeNameString to a namespace.
Definition: className.H:48

Add typeName information from argument TypeNameString to a namespace.

Also declares debug information.

Definition at line 75 of file className.H.

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

Add typeName information from argument TypeNameString to a.

template class. Also declares debug information.

Definition at line 81 of file className.H.

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

Define the typeName, with alternative lookup as Name.

Definition at line 95 of file className.H.

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

Define the typeName.

Definition at line 99 of file className.H.

#define defineTemplateTypeNameWithName (   Type,
  Name 
)
Value:
#define defineTypeNameWithName(Type, Name)
Define the typeName, with alternative lookup as Name.
Definition: className.H:95

Define the typeName as Name for template classes.

Definition at line 103 of file className.H.

#define defineTemplate2TypeNameWithName (   Type,
  Name 
)
Value:
#define defineTypeNameWithName(Type, Name)
Define the typeName, with alternative lookup as Name.
Definition: className.H:95

Define the typeName as Name for template sub-classes.

Definition at line 107 of file className.H.

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

Define the typeName for template classes, useful with typedefs.

Definition at line 112 of file className.H.

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

Define the typeName directly for template classes.

Definition at line 116 of file className.H.

#define defineTypeNameAndDebug (   Type,
  DebugSwitch 
)
Value:
defineDebugSwitch(Type, DebugSwitch)
#define defineTypeName(Type)
Define the typeName.
Definition: className.H:99

Define the typeName and debug information.

Definition at line 125 of file className.H.

#define defineTemplateTypeNameAndDebugWithName (   Type,
  Name,
  DebugSwitch 
)
Value:
defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch)
#define defineTemplateTypeNameWithName(Type, Name)
Define the typeName as Name for template classes.
Definition: className.H:103

Define the typeName and debug information, lookup as Name.

Definition at line 130 of file className.H.

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

Define the typeName and debug information for templates, useful.

with typedefs

Definition at line 136 of file className.H.

#define defineNamedTemplateTypeNameAndDebug (   Type,
  DebugSwitch 
)
Value:
defineNamedTemplateDebugSwitch(Type, DebugSwitch)
#define defineNamedTemplateTypeName(Type)
Define the typeName directly for template classes.
Definition: className.H:116

Define the typeName and debug information for templates.

Definition at line 140 of file className.H.

#define defineTemplate2TypeNameAndDebugWithName (   Type,
  Name,
  DebugSwitch 
)
Value:
defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch)
#define defineTemplate2TypeNameWithName(Type, Name)
Define the typeName as Name for template sub-classes.
Definition: className.H:107

Define the typeName and debug information, lookup as Name.

Definition at line 147 of file className.H.

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

Define the typeName and debug information for templates, useful.

with typedefs

Definition at line 153 of file className.H.