|
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. | |