Alexandria 2.31.0
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
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
31#include "QualifiedName.h"
32#include "XYDatasetProvider.h"
33
34namespace Euclid {
35namespace XYDataset {
36
45
46public:
50 virtual ~CachedProvider() = default;
51
53
75 std::vector<QualifiedName> listContents(const std::string& group) override;
76
86 std::unique_ptr<XYDataset> getDataset(const QualifiedName& qualified_name) override;
87
88 std::string getParameter(const QualifiedName& qualified_name, const std::string& key_word) override;
89
90private:
94
95}; // End of CachedProvider class
96
97} // namespace XYDataset
98} // namespace Euclid
99
100#endif
The CachedProvider wraps another XYDatasetProvider and keeps in memory the results,...
virtual ~CachedProvider()=default
Destructor.
std::shared_ptr< XYDatasetProvider > m_provider
std::map< QualifiedName, std::unique_ptr< XYDataset > > m_dataset
std::map< std::string, std::vector< QualifiedName > > m_list_cache
Represents a name qualified with a set of groups.
This interface class provides the dataset following a qualified name object.
#define ELEMENTS_API