29#ifndef vtkInformationKey_h
30#define vtkInformationKey_h
32#include "vtkCommonCoreModule.h"
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; \
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; }
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.