0.3.0
Loading...
Searching...
No Matches
NAV::CartesianProduct Namespace Reference

Namespaces

namespace  tuple_algos
 

Data Structures

struct  increment_iterator
 Helper struct to increment an iterator. More...
 
struct  increment_iterator< 0 >
 Helper struct to increment an iterator. More...
 

Functions

template<typename Function, typename... Ts, size_t... Is>
void callFunction (Function function, std::tuple< Ts... > const &tuple, std::index_sequence< Is... >)
 Calls the function on the tuple.
 
template<typename... Ts>
auto dereference (std::tuple< Ts... > const &tuple)
 Dereference a tuple.
 
template<typename... Iterators>
void next_combination (std::tuple< Iterators... > &iterators, std::tuple< Iterators... > const &beginIterators, std::tuple< Iterators... > const &endIterators)
 Gets the next combination of the tuples of iterators.
 

Function Documentation

◆ callFunction()

template<typename Function, typename... Ts, size_t... Is>
void NAV::CartesianProduct::callFunction ( Function function,
std::tuple< Ts... > const & tuple,
std::index_sequence< Is... >  )

Calls the function on the tuple.

Parameters
[in]functionFunction to call
[in]tupleTuple to pass as argument

Definition at line 185 of file CartesianProduct.hpp.

◆ dereference()

template<typename... Ts>
auto NAV::CartesianProduct::dereference ( std::tuple< Ts... > const & tuple)

Dereference a tuple.

Parameters
[in]tupleTuple to dereference
Returns
Dereferenced tuple values

Definition at line 125 of file CartesianProduct.hpp.

◆ next_combination()

template<typename... Iterators>
void NAV::CartesianProduct::next_combination ( std::tuple< Iterators... > & iterators,
std::tuple< Iterators... > const & beginIterators,
std::tuple< Iterators... > const & endIterators )

Gets the next combination of the tuples of iterators.

Parameters
[in]iteratorsThe iterator to get the next combination for
[in]beginIteratorsBeginning of the Iterators
[in]endIteratorsEnd of the Iterators

Definition at line 175 of file CartesianProduct.hpp.