Helios++
Helios software for LiDAR simulations
|
Permuter interface provides methods to iterate over different permutation configurations. It is an interface, which means it cannot be directly instantiated. It must be implemented by concrete classes which implement its functions depending on the type of desired permutations. More...
#include <IPermuter.hpp>
Public Member Functions | |
virtual void | start ()=0 |
Set permuter to its initial state. | |
virtual bool | hasNext ()=0 |
Check if there are permutations left to do. It can be used to restart a permuter. More... | |
virtual vector< T > | next ()=0 |
Obtain next permutation. More... | |
virtual vector< T > | get ()=0 |
Obtain the current permutation. More... | |
Permuter interface provides methods to iterate over different permutation configurations. It is an interface, which means it cannot be directly instantiated. It must be implemented by concrete classes which implement its functions depending on the type of desired permutations.
T | Type of data to permute |
|
pure virtual |
Obtain the current permutation.
For instance, in following code, permA will be equal to permB and permB will be different than permC
Implemented in SurfaceInspector::maths::permuters::CNRIndexPermuter< T >.
|
pure virtual |
Check if there are permutations left to do. It can be used to restart a permuter.
Implemented in SurfaceInspector::maths::permuters::CNRIndexPermuter< T >.
|
pure virtual |
Obtain next permutation.
The first time next is called, or whenever it is called after invoking start method, the first permutation is returned. The second time it is called, the second permutation is returned.
Implemented in SurfaceInspector::maths::permuters::CNRIndexPermuter< T >.