All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 defineTypeNameAndDebugWithName(Type, Name, DebugSwitch)
 Define the typeName and debug information, lookup as Name. 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

◆ ClassNameNoDebug

#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 39 of file className.H.

◆ NamespaceNameNoDebug

#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 45 of file className.H.

◆ TemplateNameNoDebug

#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 51 of file className.H.

◆ ClassName

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

Add typeName information from argument TypeNameString to a class.

Also declares debug information.

Definition at line 65 of file className.H.

◆ NamespaceName

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

Add typeName information from argument TypeNameString to a namespace.

Also declares debug information.

Definition at line 71 of file className.H.

◆ TemplateName

#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 77 of file className.H.

◆ defineTypeNameWithName

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

Define the typeName, with alternative lookup as Name.

Definition at line 90 of file className.H.

◆ defineTypeName

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

Define the typeName.

Definition at line 94 of file className.H.

◆ defineTemplateTypeNameWithName

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

Define the typeName as Name for template classes.

Definition at line 98 of file className.H.

◆ defineTemplate2TypeNameWithName

#define defineTemplate2TypeNameWithName (   Type,
  Name 
)
Value:

Define the typeName as Name for template sub-classes.

Definition at line 102 of file className.H.

◆ defineTemplateTypeName

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

Define the typeName for template classes, useful with typedefs.

Definition at line 107 of file className.H.

◆ defineNamedTemplateTypeName

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

Define the typeName directly for template classes.

Definition at line 111 of file className.H.

◆ defineTypeNameAndDebug

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

Define the typeName and debug information.

Definition at line 119 of file className.H.

◆ defineTypeNameAndDebugWithName

#define defineTypeNameAndDebugWithName (   Type,
  Name,
  DebugSwitch 
)
Value:
defineTypeNameWithName(Type, Name); \
defineDebugSwitchWithName(Type, Name, DebugSwitch)

Define the typeName and debug information, lookup as Name.

Definition at line 124 of file className.H.

◆ defineTemplateTypeNameAndDebugWithName

#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:98

Define the typeName and debug information, lookup as Name.

Definition at line 129 of file className.H.

◆ defineTemplateTypeNameAndDebug

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

Define the typeName and debug information for templates, useful.

with typedefs

Definition at line 135 of file className.H.

◆ defineNamedTemplateTypeNameAndDebug

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

Define the typeName and debug information for templates.

Definition at line 139 of file className.H.

◆ defineTemplate2TypeNameAndDebugWithName

#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:102

Define the typeName and debug information, lookup as Name.

Definition at line 148 of file className.H.

◆ defineTemplate2TypeNameAndDebug

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

Define the typeName and debug information for templates, useful.

with typedefs

Definition at line 154 of file className.H.