Alexandria  2.16
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 
90  std::string getParameter(const QualifiedName& qualified_name, const std::string& key_word) override;
91 
92 private:
96 
97 }; // End of CachedProvider class
98 
99 } // namespace XYDataset
100 } // namespace Euclid
101 
102 #endif
Euclid::XYDataset::CachedProvider::~CachedProvider
virtual ~CachedProvider()=default
Destructor.
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:94
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:50
std::map
STL class.
Euclid::XYDataset::CachedProvider::m_dataset
std::map< QualifiedName, std::unique_ptr< XYDataset > > m_dataset
Definition: CachedProvider.h:95
QualifiedName.h
Euclid::XYDataset::CachedProvider::m_provider
std::shared_ptr< XYDatasetProvider > m_provider
Definition: CachedProvider.h:93
std::unique_ptr
STL class.
Euclid
Definition: InstOrRefHolder.h:29