VTK  9.1.0
Classes | Macros
vtkInformationKey.h File Reference
#include "vtkCommonCoreModule.h"
#include "vtkObject.h"
#include "vtkObjectBase.h"
Include dependency graph for vtkInformationKey.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vtkInformationKey
 Superclass for vtkInformation keys. More...
 

Macros

#define vtkInformationKeySetStringMacro(name)
 
#define vtkInformationKeyMacro(CLASS, NAME, type)
 
#define vtkInformationKeySubclassMacro(CLASS, NAME, type, super)
 
#define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required)
 

Macro Definition Documentation

◆ vtkInformationKeySetStringMacro

#define vtkInformationKeySetStringMacro (   name)
Value:
virtual void Set##name(const char* _arg) \
{ \
if (this->name == nullptr && _arg == nullptr) \
{ \
return; \
} \
if (this->name && _arg && (!strcmp(this->name, _arg))) \
{ \
return; \
} \
delete[] this->name; \
if (_arg) \
{ \
size_t n = strlen(_arg) + 1; \
char* cp1 = new char[n]; \
const char* cp2 = (_arg); \
this->name = cp1; \
do \
{ \
*cp1++ = *cp2++; \
} while (--n); \
} \
else \
{ \
this->name = nullptr; \
} \
}
@ name
Definition: vtkX3D.h:225

Definition at line 167 of file vtkInformationKey.h.

◆ vtkInformationKeyMacro

#define vtkInformationKeyMacro (   CLASS,
  NAME,
  type 
)
Value:
static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
Store vtkAlgorithm input/output information.

Definition at line 220 of file vtkInformationKey.h.

◆ vtkInformationKeySubclassMacro

#define vtkInformationKeySubclassMacro (   CLASS,
  NAME,
  type,
  super 
)
Value:
static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \
vtkInformation##super##Key* CLASS::NAME() { return CLASS##_##NAME; }

Definition at line 223 of file vtkInformationKey.h.

◆ vtkInformationKeyRestrictedMacro

#define vtkInformationKeyRestrictedMacro (   CLASS,
  NAME,
  type,
  required 
)
Value:
static vtkInformation##type##Key* CLASS##_##NAME = \
new vtkInformation##type##Key(#NAME, #CLASS, required); \
vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }

Definition at line 226 of file vtkInformationKey.h.