VTK  9.3.20240424
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
21VTK_ABI_NAMESPACE_BEGIN
23
24class VTKCOMMONCORE_EXPORT vtkCommonInformationKeyManager
25{
26public:
29
36 static void Register(vtkInformationKey* key);
37
38private:
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
53VTK_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.
static vtkCommonInformationKeyManager vtkCommonInformationKeyManagerInstance