BICO  1.0
 All Classes Namespaces Files Functions Variables Typedefs Pages
discreteproxyprovider.h
Go to the documentation of this file.
1 #ifndef DISCRETEPROXYPROVIDER_H
2 #define DISCRETEPROXYPROVIDER_H
3 
4 #include "../base/solutionprovider.h"
5 
6 #include <vector>
7 
8 namespace CluE
9 {
10 
16 template<typename T> class DiscreteProxyProvider
17 {
18 public:
19 
21  {
22  }
23 
31  virtual unsigned int number_of_solutions() const = 0;
32 
39  virtual unsigned int size_of_solution(unsigned int index) const = 0;
40 
47  virtual T* discrete_proxy(unsigned int solutionIndex, unsigned int proxyIndex) const = 0;
48 
55  virtual std::vector<T*> discrete_proxies(unsigned int solutionIndex) const = 0;
56 
62  {
63  return dynamic_cast<DiscreteProxyProvider<T>*>(s);
64  }
65 };
66 
67 }
68 
69 #endif