1 #ifndef _ots_DataStructs_h 
    2 #define _ots_DataStructs_h 
    4 #include "otsdaq/Macros/CoutMacros.h" 
   11 template<
typename N, 
typename V>
 
   15     Parameter(N name, V value) : name_(name), value_(value) { ; }
 
   18     const N&              
getName(
void)
 const { 
return name_; }
 
   19     const V&              getValue(
void)
 const { 
return value_; }
 
   20     const std::pair<N, V> getParameterPair(
void)
 
   22         return std::pair<N, V>(name_, value_);
 
   26     void setName(
const N name) { name_ = name; }
 
   27     void setValue(
const V value) { value_ = value; }
 
   28     void set(
const N name, 
const V& value)
 
   33     void set(std::pair<N, V> parameter)
 
   35         name_  = parameter.first;
 
   36         value_ = parameter.second;
 
   44 template<
typename N, 
typename V>
 
   48     typedef std::map<N, V>                        ParameterMap;
 
   49     typedef typename ParameterMap::iterator       iterator;
 
   50     typedef typename ParameterMap::const_iterator const_iterator;
 
   60         for(const_iterator it = theParameters_.begin(); it != theParameters_.end(); it++)
 
   61             names.insert(it->first);
 
   64     const V& getValue(
const N name)
 const 
   66         auto it = theParameters_.find(name);
 
   67         if(it == theParameters_.end())
 
   69             __SS__ << 
"Parameter '" << name << 
"' not found!" << __E__;
 
   74     Parameter<N, V> getParameter(
const N name)
 
   76         return Parameter<N, V>(name, getValue(name));
 
   80     void addParameter(
const N name, 
const V value) { theParameters_[name] = value; }
 
   83         theParameters_[parameter.
getName()] = parameter.getValue();
 
   87         theParameters_[parameterPair.first] = parameterPair.second;
 
   91     iterator       
begin(
void) { 
return theParameters_.begin(); }
 
   92     iterator       end(
void) { 
return theParameters_.end(); }
 
   93     const_iterator 
begin(
void)
 const { 
return theParameters_.begin(); }
 
   94     const_iterator end(
void)
 const { 
return theParameters_.end(); }
 
   95     iterator       find(N name) { 
return theParameters_.find(name); }
 
   96     const_iterator find(N name)
 const { 
return theParameters_.find(name); }
 
   99     unsigned int size(
void)
 const { 
return theParameters_.size(); }
 
  100     void         clear(
void) { theParameters_.clear(); }
 
  103     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.