MultiAgentDecisionProcess  Release 0.2.1
AlphaVector.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _ALPHAVECTOR_H_
30 #define _ALPHAVECTOR_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include "Globals.h"
35 
36 
40 {
41 private:
42 
44  int _m_betaI;
45  std::vector<double> _m_values;
46 
47 protected:
48 
49 public:
50  // Constructor, destructor and copy assignment.
51 
53  AlphaVector();
54 
56  AlphaVector(size_t nrS);
57 
60  AlphaVector(size_t nrS, double val);
61 
63  ~AlphaVector();
66 
67  //operators:
68 
69  //data manipulation (set) functions:
70  void SetAction(Index a){ _m_action=a; }
71  void SetValues(const std::vector<double> &vs);
72  void SetValue(double v,Index i){ _m_values.at(i)=v; }
73  void SetBetaI(int betaI){ _m_betaI=betaI; }
74 
75  //get (data) functions:
76  Index GetAction() const { return(_m_action); }
77  const std::vector<double> &GetValues() const { return(_m_values); }
78  double GetValue(Index i) const { return(_m_values.at(i)); }
79 
80  unsigned int GetNrValues() const { return(_m_values.size()); }
81  int GetBetaI() const { return(_m_betaI); }
82 
83  std::string SoftPrint() const;
84  void Print() const { std::cout << SoftPrint(); }
85 
86  bool Equal(const AlphaVector &alpha) const;
87 };
88 
89 #endif /* !_ALPHAVECTOR_H_ */
90 
91 // Local Variables: ***
92 // mode:c++ ***
93 // End: ***