Helios++
Helios software for LiDAR simulations
IPermuter.hpp
1 #pragma once
2 
3 #include <surfaceinspector/util/Object.hpp>
4 
5 #include <vector>
6 
8 
9 using std::vector;
10 
11 namespace SurfaceInspector { namespace maths{ namespace permuters{
12 
13 
23 template <typename T>
24 class IPermuter : Object{
25 public:
26  // *** INTERFACE *** //
27  // ******************* //
31  virtual void start() = 0;
37  virtual bool hasNext() = 0;
50  virtual vector<T> next() = 0;
68  virtual vector<T> get() = 0;
69 };
70 
71 
72 }}}
Permuter interface provides methods to iterate over different permutation configurations....
Definition: IPermuter.hpp:24
virtual vector< T > next()=0
Obtain next permutation.
virtual void start()=0
Set permuter to its initial state.
virtual vector< T > get()=0
Obtain the current permutation.
virtual bool hasNext()=0
Check if there are permutations left to do. It can be used to restart a permuter.
Class representing an object. All surface inspector classes must extend Object.
Definition: Object.hpp:12