MultiAgentDecisionProcess  Release 0.2.1
BeliefInterface.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _BELIEFINTERFACE_H_
30 #define _BELIEFINTERFACE_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include "Globals.h"
35 #include "VectorSet.h"
36 
38 class StateDistribution;
39 
43 {
44 private:
45 
46 protected:
47 
48 public:
49  // Constructor, destructor and copy assignment.
52 
54  virtual ~BeliefInterface(){};
55 
68  virtual BeliefInterface& operator= (const BeliefInterface& o)=0;
69 
70  // operators:
71 
73  virtual double& operator[] (Index& i) = 0;
74 
76  virtual double& operator[] (int& i) = 0;
77 
78  //data manipulation (set) functions:
79 
81  virtual void Set(const StateDistribution& belief) = 0;
82 
84  virtual void Set(const std::vector<double> &belief) = 0;
85 
87  virtual void Set(const BeliefInterface &belief) = 0;
88 
90  virtual void Set(Index sI, double prob) = 0;
91 
92  //get (data) functions:
93 
95  virtual double Get(Index sI) const = 0;
97  virtual std::vector<double> Get() const=0;
98 
100  virtual void Clear() = 0;
101 
103  virtual std::string SoftPrint() const = 0;
104 
106  virtual void Print() const = 0;
107 
109  virtual unsigned int Size() const = 0;
110 
112  virtual bool SanityCheck() const = 0;
113 
115  virtual double InnerProduct(const std::vector<double> &values) const = 0;
116 
118 
119  virtual std::vector<double> InnerProduct(const VectorSet &v) const = 0;
120 
122 
124  virtual std::vector<double> InnerProduct(const VectorSet &v,
125  const std::vector<bool> &mask) const = 0;
126 
127  virtual BeliefIteratorGeneric GetIterator() const = 0;
128 
130  virtual BeliefInterface* Clone() const = 0;
131 
132 };
133 
134 
135 #endif /* !_BELIEFINTERFACE_H_ */
136 
137 // Local Variables: ***
138 // mode:c++ ***
139 // End: ***