MultiAgentDecisionProcess  Release 0.2.1
PolicyPoolInterface.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _POLICYPOOLINTERFACE_H_
30 #define _POLICYPOOLINTERFACE_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include "Globals.h"
37 
41 {
42  private:
43 
44  protected:
45 
46  public:
47  // Constructor, destructor and copy assignment.
49  //PolicyPoolInterface();
51  //PolicyPoolInterface(const PolicyPoolInterface& a);
53  virtual ~PolicyPoolInterface(){};
67 
68  //operators:
69 
70  //data manipulation (set) functions:
71 
77  virtual void Init(const Interface_ProblemToPolicyDiscretePure* pu)=0;
78 
86  virtual PolicyPoolItemInterface* Select()const=0;
93  virtual void Pop()=0;
103  virtual PolicyPoolItemInterface* GetBestRanked() const=0;
110  virtual void PopBestRanked()=0;
111 
116  virtual void Insert(PolicyPoolItemInterface* ppi)=0;
117 
118 
123  virtual void Union(PolicyPoolInterface* pp)=0;
128  virtual void Prune(double v)=0;
129  //get (data) functions:
130 
135  virtual size_t Size() const = 0;
140  size_t Empty() const
141  {return(Size()==0);};
142 };
143 
144 
145 #endif /* !_POLICYPOOLINTERFACE_H_ */
146 
147 // Local Variables: ***
148 // mode:c++ ***
149 // End: ***