VTK  9.6.20260703
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
12
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
43 static void Unregister(vtkInformationKey* key);
44
45private:
46 // Unimplemented
49
50 static void ClassInitialize();
51 static void ClassFinalize();
52};
53
54// This instance will show up in any translation unit that uses key
55// types defined in vtkCommon or that has a singleton. It will
56// make sure vtkCommonInformationKeyManager's vector of keys is
57// initialized before and destroyed after it is used.
59
60VTK_ABI_NAMESPACE_END
61#endif
62// VTK-HeaderTest-Exclude: vtkCommonInformationKeyManager.h
static void Register(vtkInformationKey *key)
Called by constructors of vtkInformationKey subclasses defined in vtkCommon to register themselves wi...
static void Unregister(vtkInformationKey *key)
Remove a key from the manager's deletion list.
Superclass for vtkInformation keys.
static vtkCommonInformationKeyManager vtkCommonInformationKeyManagerInstance