Go to the documentation of this file.
29 #ifndef vtkInformationKey_h
30 #define vtkInformationKey_h
32 #include "vtkCommonCoreModule.h"
58 const char* GetName();
64 const char* GetLocation();
167 #define vtkInformationKeySetStringMacro(name) \
168 virtual void Set##name(const char* _arg) \
170 if (this->name == nullptr && _arg == nullptr) \
174 if (this->name && _arg && (!strcmp(this->name, _arg))) \
178 delete[] this->name; \
181 size_t n = strlen(_arg) + 1; \
182 char* cp1 = new char[n]; \
183 const char* cp2 = (_arg); \
192 this->name = nullptr; \
210 void ConstructClass(
const char*);
220 #define vtkInformationKeyMacro(CLASS, NAME, type) \
221 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
222 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
223 #define vtkInformationKeySubclassMacro(CLASS, NAME, type, super) \
224 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
225 vtkInformation##super##Key* CLASS::NAME() { return CLASS##_##NAME; }
226 #define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required) \
227 static vtkInformation##type##Key* CLASS##_##NAME = \
228 new vtkInformation##type##Key(#NAME, #CLASS, required); \
229 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
void operator=(const vtkObjectBase &)
void Print(ostream &os)
Print an object to an ostream.
virtual void Register(vtkObjectBase *o)
Increase the reference count (mark as used by another object).
abstract base class for most VTK objects
a simple class to control print indentation
Detect and break reference loops.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).