Alexandria  2.14.1
Please provide a description of the project.
CachedProvider.h
Go to the documentation of this file.
1 
24 #ifndef _XYDATASET_CACHEDPROVIDER_H
25 #define _XYDATASET_CACHEDPROVIDER_H
26 
27 #include <map>
28 #include <string>
29 
30 #include "ElementsKernel/Export.h"
31 #include "XYDatasetProvider.h"
32 #include "QualifiedName.h"
33 
34 namespace Euclid {
35 namespace XYDataset {
36 
45 
46 public:
47 
51  virtual ~CachedProvider() = default;
52 
54 
76  std::vector<QualifiedName> listContents(const std::string& group) override;
77 
87  std::unique_ptr<XYDataset> getDataset(const QualifiedName& qualified_name) override;
88 
89 private:
93 
94 }; // End of CachedProvider class
95 
96 } // namespace XYDataset
97 } // namespace Euclid
98 
99 #endif
std::string
STL class.
std::shared_ptr
STL class.
Export.h
std::vector
STL class.
Euclid::XYDataset::CachedProvider
The CachedProvider wraps another XYDatasetProvider and keeps in memory the results,...
Definition: CachedProvider.h:44
Euclid::XYDataset::CachedProvider::m_list_cache
std::map< std::string, std::vector< QualifiedName > > m_list_cache
Definition: CachedProvider.h:91
XYDatasetProvider.h
Euclid::XYDataset::QualifiedName
Represents a name qualified with a set of groups.
Definition: QualifiedName.h:66
ELEMENTS_API
#define ELEMENTS_API
Euclid::XYDataset::XYDatasetProvider
This interface class provides the dataset following a qualified name object.
Definition: XYDatasetProvider.h:49
std::map
STL class.
Euclid::XYDataset::CachedProvider::m_dataset
std::map< QualifiedName, std::unique_ptr< XYDataset > > m_dataset
Definition: CachedProvider.h:92
QualifiedName.h
Euclid::XYDataset::CachedProvider::m_provider
std::shared_ptr< XYDatasetProvider > m_provider
Definition: CachedProvider.h:90
std::unique_ptr
STL class.
Euclid
Definition: InstOrRefHolder.h:29