Template Function cartesian_product

Function Documentation

template<typename OutputIterator, typename ...Iter>
void cartesian_product(OutputIterator out, std::function<bool(typename Iter::value_type...)> rule, std::pair<Iter, Iter>... ranges)

Fill a vector with tuples, based on pairs of iterators.

The iterators are used to create the tuples according to the cartesian product.

Template Parameters:
  • OutputIterator

  • Iter

Parameters:
  • out[inout] An OutputIterator that will be filled

  • rule[in] A function that returns true if a parameter combination is permissible, false otherwise

  • ranges[in] Pairs of ranges