32#ifndef vtkInformationKey_h
33#define vtkInformationKey_h
35#include "vtkCommonCoreModule.h"
170#define vtkInformationKeySetStringMacro(name) \
171 virtual void Set##name(const char* _arg) \
173 if (this->name == nullptr && _arg == nullptr) \
177 if (this->name && _arg && (!strcmp(this->name, _arg))) \
181 delete[] this->name; \
184 size_t n = strlen(_arg) + 1; \
185 char* cp1 = new char[n]; \
186 const char* cp2 = (_arg); \
195 this->name = nullptr; \
223#define vtkInformationKeyMacro(CLASS, NAME, type) \
224 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
225 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
226#define vtkInformationKeySubclassMacro(CLASS, NAME, type, super) \
227 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
228 vtkInformation##super##Key* CLASS::NAME() { return CLASS##_##NAME; }
229#define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required) \
230 static vtkInformation##type##Key* CLASS##_##NAME = \
231 new vtkInformation##type##Key(#NAME, #CLASS, required); \
232 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
a simple class to control print indentation
void operator=(const vtkObjectBase &)
friend class vtkInformationKey
Some classes need to clear the reference counts manually due to the way they work.
friend class vtkGarbageCollector
Some classes need to clear the reference counts manually due to the way they work.