31 : m_provider(provider)
39 auto contents =
m_provider->listContents(group);
40 i =
m_list_cache.insert(std::make_pair(group, contents)).first;
49 auto dataset =
m_provider->getDataset(qualified_name);
50 i =
m_dataset.insert(std::make_pair(qualified_name, std::move(dataset))).first;
53 return std::unique_ptr<XYDataset>(
new XYDataset(*i->second));
59 return m_provider->getParameter(qualified_name, key_word);
std::map< QualifiedName, std::unique_ptr< XYDataset > > m_dataset
std::unique_ptr< XYDataset > getDataset(const QualifiedName &qualified_name) override
Virtual function for getting from a qualified name the dataset of XYDataset type. ...
std::vector< QualifiedName > listContents(const std::string &group) override
Virtual function to list all files contents in the "group" path.
CachedProvider(std::shared_ptr< XYDatasetProvider > provider)
std::shared_ptr< XYDatasetProvider > m_provider
std::string getParameter(const QualifiedName &qualified_name, const std::string &key_word) override
This module provides an interface for accessing two dimensional datasets (pairs of (X...
std::map< std::string, std::vector< QualifiedName > > m_list_cache
Represents a name qualified with a set of groups.