1 #ifndef _ots_DataStructs_h
2 #define _ots_DataStructs_h
10 template<
typename N,
typename V>
14 Parameter(N name, V value) : name_(name), value_(value){;}
17 const N& getName (
void)
const {
return name_;}
18 const V& getValue(
void)
const {
return value_;}
19 const std::pair<N, V> getParameterPair(
void){
return std::pair<N,V>(name_,value_);}
22 void setName (
const N name ) {name_ = name;}
23 void setValue(
const V value) {value_ = value;}
24 void set(
const N name,
const V& value) {name_ = name; value_ = value;}
25 void set(std::pair<N, V> parameter) {name_ = parameter.first; value_ = parameter.second;}
31 template<
typename N,
typename V>
35 typedef std::map<N,V> ParameterMap;
36 typedef typename ParameterMap::iterator iterator;
37 typedef typename ParameterMap::const_iterator const_iterator;
40 Parameters(N name, V value){addParameter(name, value);}
44 std::set<N> getNames (
void)
const
47 for(const_iterator it=theParameters_.begin(); it!=theParameters_.end(); it++)
48 names.insert(it->first);
51 const V& getValue (
const N name)
const {
return theParameters_.find(name)->second;}
55 void addParameter(
const N name,
const V value) {theParameters_[name] = value;}
56 void addParameter(
const Parameter<N,V> parameter) {theParameters_[parameter.getName()] = parameter.getValue();}
57 void addParameter(
const std::pair<N,V> parameterPair){theParameters_[parameterPair.first] = parameterPair.second;}
60 iterator begin(
void) {
return theParameters_.begin();}
61 iterator end (
void) {
return theParameters_.end();}
62 const_iterator begin(
void)
const {
return theParameters_.begin();}
63 const_iterator end (
void)
const {
return theParameters_.end();}
64 iterator find (N name) {
return theParameters_.find(name);}
65 const_iterator find (N name)
const {
return theParameters_.find(name);}
68 unsigned int size (
void)
const {
return theParameters_.size();}
69 void clear(
void) {theParameters_.clear();}
72 ParameterMap theParameters_;