VTK  9.2.20230328
vtkCommonInformationKeyManager.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCommonInformationKeyManager.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
25 #ifndef vtkCommonInformationKeyManager_h
26 #define vtkCommonInformationKeyManager_h
27 
28 #include "vtkCommonCoreModule.h" // For export macro
29 #include "vtkSystemIncludes.h"
30 
31 #include "vtkDebugLeaksManager.h" // DebugLeaks exists longer than info keys.
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 class vtkInformationKey;
35 
36 class VTKCOMMONCORE_EXPORT vtkCommonInformationKeyManager
37 {
38 public:
41 
49 
50 private:
51  // Unimplemented
54 
55  static void ClassInitialize();
56  static void ClassFinalize();
57 };
58 
59 // This instance will show up in any translation unit that uses key
60 // types defined in vtkCommon or that has a singleton. It will
61 // make sure vtkCommonInformationKeyManager's vector of keys is
62 // initialized before and destroyed after it is used.
64 
65 VTK_ABI_NAMESPACE_END
66 #endif
67 // 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:269
static vtkCommonInformationKeyManager vtkCommonInformationKeyManagerInstance