Alexandria
2.19
Please provide a description of the project.
XYDataset
XYDataset
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 "
QualifiedName.h
"
32
#include "
XYDatasetProvider.h
"
33
34
namespace
Euclid
{
35
namespace
XYDataset {
36
44
class
ELEMENTS_API
CachedProvider
:
public
XYDatasetProvider
{
45
46
public
:
50
virtual
~CachedProvider
() =
default
;
51
52
explicit
CachedProvider
(
std::shared_ptr<XYDatasetProvider>
provider);
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
90
private
:
91
std::shared_ptr<XYDatasetProvider>
m_provider
;
92
std::map<std::string, std::vector<QualifiedName>
>
m_list_cache
;
93
std::map<QualifiedName, std::unique_ptr<XYDataset>
>
m_dataset
;
94
95
};
// End of CachedProvider class
96
97
}
// namespace XYDataset
98
}
// namespace Euclid
99
100
#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:92
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:93
QualifiedName.h
Euclid::XYDataset::CachedProvider::m_provider
std::shared_ptr< XYDatasetProvider > m_provider
Definition:
CachedProvider.h:91
std::unique_ptr
STL class.
Euclid
Definition:
InstOrRefHolder.h:29
Generated by
1.8.20