TRIQS/itertools 1.3.0
C++ range library
|
#include "./iterator_facade.hpp"
#include "./sentinel.hpp"
#include <cstddef>
#include <iterator>
#include <tuple>
#include <utility>
Provides a range adapting function for multiplying a given number of ranges/views (cartesian product).
Definition in file product.hpp.
Go to the source code of this file.
Classes | |
struct | itertools::multiplied< Rs > |
Represents a cartesian product of ranges. More... | |
struct | itertools::prod_iter< EndIters, Iters > |
Iterator for a itertools::multiplied (cartesian product) range. More... | |
Functions | |
template<typename R , size_t N> | |
auto | itertools::make_product (std::array< R, N > &arr) |
Create a cartesian product range from an array of ranges. | |
template<typename R , size_t N> | |
auto | itertools::make_product (std::array< R, N > const &arr) |
Const overload of make_product(std::array<R, N> &). | |
template<typename... Rs> | |
itertools::multiplied< Rs... > | itertools::product (Rs &&...rgs) |
Lazy-multiply a given number of ranges by forming their cartesian product. | |