VTK  9.3.20240228
vtkCommonInformationKeyManager.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkCommonInformationKeyManager_h
14 #define vtkCommonInformationKeyManager_h
15 
16 #include "vtkCommonCoreModule.h" // For export macro
17 #include "vtkSystemIncludes.h"
18 
19 #include "vtkDebugLeaksManager.h" // DebugLeaks exists longer than info keys.
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class vtkInformationKey;
23 
24 class VTKCOMMONCORE_EXPORT vtkCommonInformationKeyManager
25 {
26 public:
29 
37 
38 private:
39  // Unimplemented
42 
43  static void ClassInitialize();
44  static void ClassFinalize();
45 };
46 
47 // This instance will show up in any translation unit that uses key
48 // types defined in vtkCommon or that has a singleton. It will
49 // make sure vtkCommonInformationKeyManager's vector of keys is
50 // initialized before and destroyed after it is used.
52 
53 VTK_ABI_NAMESPACE_END
54 #endif
55 // VTK-HeaderTest-Exclude: vtkCommonInformationKeyManager.h
static void Register(vtkInformationKey *key)
Called by constructors of vtkInformationKey subclasses defined in vtkCommon to register themselves wi...
Superclass for vtkInformation keys.
@ key
Definition: vtkX3D.h:257
static vtkCommonInformationKeyManager vtkCommonInformationKeyManagerInstance