MultiAgentDecisionProcess  Release 0.2.1
Policy.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _POLICY_H_
30 #define _POLICY_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include "Globals.h"
35 #include "PolicyGlobals.h"
36 
38 
43 class Policy
44 {
45  private:
46 
56  size_t _m_depth;
57 
58  protected:
60 
61  public:
62  // Constructor, destructor and copy assignment.
63 
65  Policy(Index agentI) :
67  _m_agentI(agentI)
68  {};
69 
71  virtual ~Policy(){};
72 
74  size_t GetDepth() const {return _m_depth;}
76  virtual void SetDepth(size_t d) {_m_depth = d;}
77 
79  virtual Policy* Clone() const = 0;
80 
82  virtual std::string SoftPrint() const = 0;
84  virtual void Print() const
85  { std::cout << SoftPrint();}
86 
87 };
88 
89 
90 #endif /* !_POLICY_H_ */
91 
92 
93 // Local Variables: ***
94 // mode:c++ ***
95 // End: ***