VTK  9.3.1
vtkXdmf3ArrayKeeper.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
16 #ifndef vtkXdmf3ArrayKeeper_h
17 #define vtkXdmf3ArrayKeeper_h
18 
19 #include "vtkIOXdmf3Module.h" // For export macro
20 #include <map>
21 
22 class XdmfArray;
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 
26 #ifdef _MSC_VER
27 #pragma warning(push) // save
28 #pragma warning(disable : 4251) // needs to have dll-interface to be used by clients of class
29 #endif
30 class VTKIOXDMF3_EXPORT vtkXdmf3ArrayKeeper : public std::map<XdmfArray*, unsigned int>
31 {
32 public:
37 
42 
46  void BumpGeneration();
47 
51  void Insert(XdmfArray* val);
52 
57  void Release(bool force);
58 
60 
61 private:
62  unsigned int generation;
63 };
64 #ifdef _MSC_VER
65 #pragma warning(pop) // restore
66 #endif
67 
68 VTK_ABI_NAMESPACE_END
69 #endif // vtkXdmf3ArrayKeeper_h
70 // VTK-HeaderTest-Exclude: vtkXdmf3ArrayKeeper.h
LRU cache of XDMF Arrays.