29 #ifndef defineDebugSwitch_H 30 #define defineDebugSwitch_H 75 #define registerTemplateDebugSwitchWithName(Type,Name) \ 77 const Foam::RegisterDebugSwitch<Type> \ 78 Foam::RegisterDebugSwitch<Type>::registerDebugSwitch(Name) 82 #define registerDebugSwitchWithName(Type,Tag,Name) \ 83 class add##Tag##ToDebug \ 85 public ::Foam::simpleRegIOobject \ 88 add##Tag##ToDebug(const char* name) \ 90 ::Foam::simpleRegIOobject(Foam::debug::addDebugObject, name) \ 92 virtual ~add##Tag##ToDebug() \ 94 virtual void readData(Foam::Istream& is) \ 96 Type::debug = readLabel(is); \ 98 virtual void writeData(Foam::Ostream& os) const \ 103 add##Tag##ToDebug add##Tag##ToDebug_(Name) 107 #define defineDebugSwitchWithName(Type, Name, DebugSwitch) \ 108 int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch)) 111 #define defineDebugSwitch(Type, DebugSwitch) \ 112 defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch); \ 113 registerDebugSwitchWithName(Type, Type, Type::typeName_()) 116 #define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \ 118 defineDebugSwitchWithName(Type, Name, DebugSwitch); \ 119 registerTemplateDebugSwitchWithName(Type, Name) 122 #define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ 124 defineDebugSwitchWithName(Type, Name, DebugSwitch); \ 125 registerTemplateDebugSwitchWithName(Type, Name) 129 #define defineTemplateDebugSwitch(Type, DebugSwitch) \ 130 defineTemplateDebugSwitchWithName(Type, #Type, DebugSwitch) 133 #define defineNamedTemplateDebugSwitch(Type, DebugSwitch) \ 134 defineTemplateDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) 139 #define defineTemplate2DebugSwitch(Type, DebugSwitch) \ 140 defineTemplate2DebugSwitchWithName(Type, #Type, DebugSwitch) 143 #define defineNamedTemplate2DebugSwitch(Type, DebugSwitch) \ 144 defineTemplate2DebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) Abstract base class for registered object with I/O. Used in debug symbol registration.
static const RegisterDebugSwitch registerDebugSwitch
The unique RegisterDebugSwitch object.
Define the debug information, lookup as Name.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual ~RegisterDebugSwitch()
virtual void writeData(Foam::Ostream &os) const
Write.
label readLabel(Istream &is)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
RegisterDebugSwitch(const char *name)
word name(const complex &)
Return a string representation of a complex.
virtual void readData(Foam::Istream &is)
Read.
void addDebugObject(const char *name, simpleRegIOobject *obj)
Register debug switch read/write object.