20#ifndef vtkInformationKey_h
21#define vtkInformationKey_h
23#include "vtkCommonCoreModule.h"
27VTK_ABI_NAMESPACE_BEGIN
166 this->ManagerCallback = callback;
172#define vtkInformationKeySetStringMacro(name) \
173 virtual void Set##name(const char* _arg) \
175 if (this->name == nullptr && _arg == nullptr) \
179 if (this->name && _arg && (!strcmp(this->name, _arg))) \
183 delete[] this->name; \
186 size_t n = strlen(_arg) + 1; \
187 char* cp1 = new char[n]; \
188 const char* cp2 = (_arg); \
197 this->name = nullptr; \
227#define vtkInformationKeyMacro(CLASS, NAME, type) \
228 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
229 vtkInformation##type##Key* CLASS::NAME() \
231 return CLASS##_##NAME; \
233#define vtkInformationKeySubclassMacro(CLASS, NAME, type, super) \
234 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
235 vtkInformation##super##Key* CLASS::NAME() \
237 return CLASS##_##NAME; \
239#define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required) \
240 static vtkInformation##type##Key* CLASS##_##NAME = \
241 new vtkInformation##type##Key(#NAME, #CLASS, required); \
242 vtkInformation##type##Key* CLASS::NAME() \
244 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.