Go to the documentation of this file.
32 #ifndef defineDebugSwitch_H
33 #define defineDebugSwitch_H
84 #define registerTemplateDebugSwitchWithName(Type,Name) \
86 const Foam::RegisterDebugSwitch<Type> \
87 Foam::RegisterDebugSwitch<Type>::registerDebugSwitch(Name)
91 #define registerDebugSwitchWithName(Type,Tag,Name) \
92 class add##Tag##ToDebug \
94 public ::Foam::simpleRegIOobject \
98 explicit add##Tag##ToDebug(const char* name) \
100 ::Foam::simpleRegIOobject(::Foam::debug::addDebugObject, name) \
103 virtual ~add##Tag##ToDebug() = default; \
105 virtual void readData(::Foam::Istream& is) \
110 virtual void writeData(::Foam::Ostream& os) const \
115 add##Tag##ToDebug(const add##Tag##ToDebug&) = delete; \
116 void operator=(const add##Tag##ToDebug&) = delete; \
118 add##Tag##ToDebug add##Tag##ToDebug_(Name)
122 #define defineDebugSwitchWithName(Type, Name, Value) \
123 int Type::debug(::Foam::debug::debugSwitch(Name, Value))
126 #define defineDebugSwitch(Type, Value) \
127 defineDebugSwitchWithName(Type, Type::typeName_(), Value); \
128 registerDebugSwitchWithName(Type, Type, Type::typeName_())
131 #define defineTemplateDebugSwitchWithName(Type, Name, Value) \
133 defineDebugSwitchWithName(Type, Name, Value); \
134 registerTemplateDebugSwitchWithName(Type, Name)
137 #define defineTemplate2DebugSwitchWithName(Type, Name, Value) \
139 defineDebugSwitchWithName(Type, Name, Value); \
140 registerTemplateDebugSwitchWithName(Type, Name)
144 #define defineTemplateDebugSwitch(Type, Value) \
145 defineTemplateDebugSwitchWithName(Type, #Type, Value)
148 #define defineNamedTemplateDebugSwitch(Type, Value) \
149 defineTemplateDebugSwitchWithName(Type, Type::typeName_(), Value)
154 #define defineTemplate2DebugSwitch(Type, Value) \
155 defineTemplate2DebugSwitchWithName(Type, #Type, Value)
158 #define defineNamedTemplate2DebugSwitch(Type, Value) \
159 defineTemplate2DebugSwitchWithName(Type, Type::typeName_(), Value)
RegisterDebugSwitch(const char *name)
static const RegisterDebugSwitch registerDebugSwitch
RegisterDebugSwitch(const RegisterDebugSwitch< Type > &)=delete
virtual void writeData(Ostream &os) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
OBJstream os(runTime.globalPath()/outputName)
void operator=(const RegisterDebugSwitch< Type > &)=delete
void addDebugObject(const char *name, simpleRegIOobject *obj)
virtual ~RegisterDebugSwitch()=default
word name(const expressions::valueTypeCode typeCode)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void readData(Istream &is)
Abstract base class for registered object with I/O. Used in debug symbol registration.