defineDebugSwitch.H File Reference

Macro definitions for debug switches. More...

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

Go to the source code of this file.

Classes

class  RegisterDebugSwitch< Type >
 Define the debug information, lookup as name. More...
 

Namespaces

 Foam
 Namespace for OpenFOAM.
 

Macros

#define registerTemplateDebugSwitchWithName(Type, Name)
 
#define registerDebugSwitchWithName(Type, Tag, Name)
 Define the debug information, lookup as Name. More...
 
#define defineDebugSwitchWithName(Type, Name, Value)   int Type::debug(::Foam::debug::debugSwitch(Name, Value))
 Define the debug information, lookup as Name. More...
 
#define defineDebugSwitch(Type, Value)
 Define the debug information. More...
 
#define defineTemplateDebugSwitchWithName(Type, Name, Value)
 Define the debug information for templates, lookup as Name. More...
 
#define defineTemplate2DebugSwitchWithName(Type, Name, Value)
 Define the debug information for templates sub-classes, lookup as Name. More...
 
#define defineTemplateDebugSwitch(Type, Value)   defineTemplateDebugSwitchWithName(Type, #Type, Value)
 Define the debug information for templates. More...
 
#define defineNamedTemplateDebugSwitch(Type, Value)   defineTemplateDebugSwitchWithName(Type, Type::typeName_(), Value)
 Define the debug information directly for templates. More...
 
#define defineTemplate2DebugSwitch(Type, Value)   defineTemplate2DebugSwitchWithName(Type, #Type, Value)
 Define the debug information for templates. More...
 
#define defineNamedTemplate2DebugSwitch(Type, Value)   defineTemplate2DebugSwitchWithName(Type, Type::typeName_(), Value)
 Define the debug information directly for templates. More...
 

Detailed Description

Macro definitions for debug switches.

Original source file defineDebugSwitch.H

Definition in file defineDebugSwitch.H.

Macro Definition Documentation

◆ registerTemplateDebugSwitchWithName

#define registerTemplateDebugSwitchWithName (   Type,
  Name 
)

◆ registerDebugSwitchWithName

#define registerDebugSwitchWithName (   Type,
  Tag,
  Name 
)
Value:
class add##Tag##ToDebug \
: \
{ \
public: \
\
explicit add##Tag##ToDebug(const char* name) \
: \
::Foam::simpleRegIOobject(::Foam::debug::addDebugObject, name) \
{} \
\
virtual ~add##Tag##ToDebug() = default; \
\
virtual void readData(::Foam::Istream& is) \
{ \
is >> Type::debug; \
} \
\
virtual void writeData(::Foam::Ostream& os) const \
{ \
os << Type::debug; \
} \
\
add##Tag##ToDebug(const add##Tag##ToDebug&) = delete; \
void operator=(const add##Tag##ToDebug&) = delete; \
}; \
add##Tag##ToDebug add##Tag##ToDebug_(Name)

Define the debug information, lookup as Name.

Definition at line 91 of file defineDebugSwitch.H.

◆ defineDebugSwitchWithName

#define defineDebugSwitchWithName (   Type,
  Name,
  Value 
)    int Type::debug(::Foam::debug::debugSwitch(Name, Value))

Define the debug information, lookup as Name.

Definition at line 122 of file defineDebugSwitch.H.

◆ defineDebugSwitch

#define defineDebugSwitch (   Type,
  Value 
)
Value:
defineDebugSwitchWithName(Type, Type::typeName_(), Value); \
registerDebugSwitchWithName(Type, Type, Type::typeName_())

Define the debug information.

Definition at line 126 of file defineDebugSwitch.H.

◆ defineTemplateDebugSwitchWithName

#define defineTemplateDebugSwitchWithName (   Type,
  Name,
  Value 
)
Value:
defineDebugSwitchWithName(Type, Name, Value); \
registerTemplateDebugSwitchWithName(Type, Name)

Define the debug information for templates, lookup as Name.

Definition at line 131 of file defineDebugSwitch.H.

◆ defineTemplate2DebugSwitchWithName

#define defineTemplate2DebugSwitchWithName (   Type,
  Name,
  Value 
)
Value:
defineDebugSwitchWithName(Type, Name, Value); \
registerTemplateDebugSwitchWithName(Type, Name)

Define the debug information for templates sub-classes, lookup as Name.

Definition at line 137 of file defineDebugSwitch.H.

◆ defineTemplateDebugSwitch

#define defineTemplateDebugSwitch (   Type,
  Value 
)    defineTemplateDebugSwitchWithName(Type, #Type, Value)

Define the debug information for templates.

Useful with typedefs

Definition at line 144 of file defineDebugSwitch.H.

◆ defineNamedTemplateDebugSwitch

#define defineNamedTemplateDebugSwitch (   Type,
  Value 
)    defineTemplateDebugSwitchWithName(Type, Type::typeName_(), Value)

Define the debug information directly for templates.

Definition at line 148 of file defineDebugSwitch.H.

◆ defineTemplate2DebugSwitch

#define defineTemplate2DebugSwitch (   Type,
  Value 
)    defineTemplate2DebugSwitchWithName(Type, #Type, Value)

Define the debug information for templates.

Useful with typedefs

Definition at line 154 of file defineDebugSwitch.H.

◆ defineNamedTemplate2DebugSwitch

#define defineNamedTemplate2DebugSwitch (   Type,
  Value 
)    defineTemplate2DebugSwitchWithName(Type, Type::typeName_(), Value)

Define the debug information directly for templates.

Definition at line 158 of file defineDebugSwitch.H.

Foam::expressions::patchExpr::debug
int debug
Static debugging option.
Foam::RegisterDebugSwitch::registerDebugSwitch
static const RegisterDebugSwitch registerDebugSwitch
The unique RegisterDebugSwitch object.
Definition: defineDebugSwitch.H:53
Foam::simpleRegIOobject::writeData
virtual void writeData(Ostream &os) const =0
Write.
defineDebugSwitchWithName
#define defineDebugSwitchWithName(Type, Name, Value)
Define the debug information, lookup as Name.
Definition: defineDebugSwitch.H:122
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:61
Foam::add
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Definition: FieldFieldFunctions.C:939
os
OBJstream os(runTime.globalPath()/outputName)
Foam::debug::addDebugObject
void addDebugObject(const char *name, simpleRegIOobject *obj)
Register debug switch read/write object.
Definition: debug.C:249
Foam::name
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Definition: exprTraits.C:59
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::simpleRegIOobject::readData
virtual void readData(Istream &is)=0
Read.
Foam::simpleRegIOobject
Abstract base class for registered object with I/O. Used in debug symbol registration.
Definition: simpleRegIOobject.H:52