BICO  1.0
 All Classes Namespaces Files Functions Variables Typedefs Pages
proxyevaluation.h
Go to the documentation of this file.
1 #ifndef PROXYEVALUATION_H
2 #define PROXYEVALUATION_H
3 
4 #include "../base/evaluation.h"
5 #include "../base/proxyprovider.h"
6 #include "../base/discreteproxyprovider.h"
7 
8 #include <vector>
9 
10 namespace CluE {
11 
19 template<typename T> class ProxyEvaluation : virtual public Evaluation {
20 public:
21  virtual ~ProxyEvaluation() {
22  }
23 
28  virtual double proxycost(std::vector<T*> const &input, std::vector<T> const &proxies) const = 0;
32  virtual double proxycost(std::vector<T*> const &input, ProxyProvider<T> const &proxies, unsigned int solutionIndex) const = 0;
37  virtual double proxycost(std::vector<T*> const &input, std::vector<T> const &proxies, unsigned int proxyIndex) const = 0;
41  virtual double proxycost(std::vector<T*> const& input, ProxyProvider<T> const &proxies, unsigned int solutionIndex, unsigned int proxyIndex) const = 0;
42 
46  virtual double proxycost(std::vector<T*> const &input, std::vector<T*> const &proxies) const = 0;
50  virtual double proxycost(std::vector<T*> const &input, DiscreteProxyProvider<T> const &proxies, unsigned int solutionIndex) const = 0;
54  virtual double proxycost(std::vector<T*> const& input, std::vector<T*> const &proxies, unsigned int solutionIndex) const = 0;
58  virtual double proxycost(std::vector<T*> const& input, DiscreteProxyProvider<T> const &proxies, unsigned int solutionIndex, unsigned int proxyIndex) const = 0;
59 };
60 
61 }
62 
63 #endif