OpenGM  2.3.x
Discrete Graphical Model Library
parameters.hxx
Go to the documentation of this file.
1 #ifndef OPENGM_PARAMETERS
2 #define OPENGM_PARAMETERS
3 
4 
5 namespace opengm{
6 
7  template<class T,class I>
8  class Parameters{
9  public:
10  typedef T ValueType;
11  typedef I IndexType;
12 
13 
14  Parameters(const IndexType numberOfParameters=0)
15  : params_(numberOfParameters){
16 
17  }
18 
19  ValueType getParameter(const size_t pi)const{
20  OPENGM_ASSERT_OP(pi,<,params_.size());
21  return params_[pi];
22  }
23 
24  void setParameter(const size_t pi,const ValueType value){
25  OPENGM_ASSERT_OP(pi,<,params_.size());
26  params_[pi]=value;
27  }
28 
29  ValueType operator[](const size_t pi)const{
30  return getParameter(pi);
31  }
32 
33  size_t numberOfParameters()const{
34  return params_.size();
35  }
36 
37  private:
38 
39  std::vector<ValueType> params_;
40  };
41 }
42 
43 
44 #endif /* OPENGM_PARAMETERS */
ValueType operator[](const size_t pi) const
Definition: parameters.hxx:29
The OpenGM namespace.
Definition: config.hxx:43
size_t numberOfParameters() const
Definition: parameters.hxx:33
ValueType getParameter(const size_t pi) const
Definition: parameters.hxx:19
void setParameter(const size_t pi, const ValueType value)
Definition: parameters.hxx:24
Parameters(const IndexType numberOfParameters=0)
Definition: parameters.hxx:14
#define OPENGM_ASSERT_OP(a, op, b)
runtime assertion
Definition: opengm.hxx:53