1 #ifndef _ots_DataStructs_h
2 #define _ots_DataStructs_h
4 #include "otsdaq/Macros/CoutMacros.h"
11 template<
typename N,
typename V>
20 const N&
getName(
void)
const {
return name_; }
21 const V& getValue(
void)
const {
return value_; }
22 const std::pair<N, V> getParameterPair(
void)
24 return std::pair<N, V>(name_, value_);
28 void setName(
const N name) { name_ = name; }
29 void setValue(
const V value) { value_ = value; }
30 void set(
const N name,
const V& value)
35 void set(std::pair<N, V> parameter)
37 name_ = parameter.first;
38 value_ = parameter.second;
46 template<
typename N,
typename V>
50 typedef std::map<N, V> ParameterMap;
51 typedef typename ParameterMap::iterator iterator;
52 typedef typename ParameterMap::const_iterator const_iterator;
62 for(const_iterator it = theParameters_.begin(); it != theParameters_.end(); it++)
63 names.insert(it->first);
66 const V& getValue(
const N name)
const
68 auto it = theParameters_.find(name);
69 if(it == theParameters_.end())
71 __SS__ <<
"Parameter '" << name <<
"' not found!" << __E__;
76 Parameter<N, V> getParameter(
const N name)
78 return Parameter<N, V>(name, getValue(name));
82 void addParameter(
const N name,
const V value) { theParameters_[name] = value; }
85 theParameters_[parameter.
getName()] = parameter.getValue();
89 theParameters_[parameterPair.first] = parameterPair.second;
93 iterator
begin(
void) {
return theParameters_.begin(); }
94 iterator end(
void) {
return theParameters_.end(); }
95 const_iterator
begin(
void)
const {
return theParameters_.begin(); }
96 const_iterator end(
void)
const {
return theParameters_.end(); }
97 iterator find(N name) {
return theParameters_.find(name); }
98 const_iterator find(N name)
const {
return theParameters_.find(name); }
101 unsigned int size(
void)
const {
return theParameters_.size(); }
102 void clear(
void) { theParameters_.clear(); }
105 ParameterMap theParameters_;
const N & getName(void) const
Getters.
void setName(const N name)
Setters.
unsigned int size(void) const
Methods.
iterator begin(void)
Iterators.
void addParameter(const N name, const V value)
Setters.
std::set< N > getNames(void) const
Getters.
defines used also by OtsConfigurationWizardSupervisor