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

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

◆ TemplateNameNoDebug

#define TemplateNameNoDebug ( TemplateNameString)
Value:
class TemplateNameString##Name \
{ \
public: \
TemplateNameString##Name() noexcept = default; \
ClassNameNoDebug(#TemplateNameString); \
}
#define ClassNameNoDebug(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Definition className.H:39

Add typeName information from argument TemplateNameString to a.

template class. Without debug information.

Definition at line 57 of file className.H.

◆ ClassName

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

Add typeName information from argument TypeNameString to a class.

Also declares debug information.

Definition at line 74 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:48

Add typeName information from argument TypeNameString to a namespace.

Also declares debug information.

Definition at line 83 of file className.H.

◆ TemplateName

#define TemplateName ( TemplateNameString)
Value:
class TemplateNameString##Name \
{ \
public: \
TemplateNameString##Name() noexcept = default; \
ClassName(#TemplateNameString); \
}
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Definition className.H:74

Add typeName information from argument TypeNameString to a.

template class. Also declares debug information.

Definition at line 92 of file className.H.

◆ defineTypeNameWithName

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

Define the typeName, with alternative lookup as Name.

Definition at line 107 of file className.H.

◆ defineTypeName

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

Define the typeName.

Definition at line 113 of file className.H.

◆ defineTemplateTypeNameWithName

#define defineTemplateTypeNameWithName ( Type,
Name )
Value:
template<> \
defineTypeNameWithName(Type, Name)

Define the typeName as Name for template classes.

Definition at line 119 of file className.H.

◆ defineTemplateTypeName

#define defineTemplateTypeName ( Type)
Value:
#define defineTemplateTypeNameWithName(Type, Name)
Define the typeName as Name for template classes.
Definition className.H:119

Define the typeName for template classes, useful with typedefs.

Definition at line 126 of file className.H.

◆ defineNamedTemplateTypeName

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

Define the typeName directly for template classes.

Definition at line 132 of file className.H.

◆ defineTypeNameAndDebug

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

Define the typeName and debug information.

Definition at line 142 of file className.H.

◆ defineTemplateTypeNameAndDebugWithName

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

Define the typeName and debug information, lookup as Name.

Definition at line 149 of file className.H.

◆ defineTemplateTypeNameAndDebug

#define defineTemplateTypeNameAndDebug ( Type,
DebugSwitch )
Value:
defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch)
#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch)
Define the typeName and debug information, lookup as Name.
Definition className.H:149

Define the typeName and debug information for templates, useful.

with typedefs

Definition at line 158 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:132

Define the typeName and debug information for templates.

Definition at line 164 of file className.H.

◆ defineTemplate2TypeNameWithName

#define defineTemplate2TypeNameWithName ( Type,
Name )
Value:

Definition at line 173 of file className.H.

◆ defineTemplate2TypeNameAndDebugWithName

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

Definition at line 177 of file className.H.

◆ defineTemplate2TypeNameAndDebug

#define defineTemplate2TypeNameAndDebug ( Type,
DebugSwitch )
Value:
#define defineTemplateTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information for templates, useful.
Definition className.H:158

Definition at line 182 of file className.H.