GrPPI  1.0
Generic and Reusable Parallel Pattern Interface
Namespaces | Functions
iterator.h File Reference
#include <utility>
#include <tuple>
Include dependency graph for iterator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 grppi
 
 grppi::internal
 

Functions

template<typename F , typename ... Iterators, template< typename... > class T, std::size_t ... I>
decltype(auto) grppi::internal::apply_deref_increment (F &&f, T< Iterators... > &iterators, std::index_sequence< I... >)
 
template<typename F , typename ... Iterators, template< typename ... > class T>
decltype(auto) grppi::apply_deref_increment (F &&f, T< Iterators... > &iterators)
 Applies a callable object to the values obtained from the iterators in a tuple-like object. This function takes callable object f and a tuple-like with iterators (e.g. the result of make_tuple(it1, it2, it3)) More...
 
template<typename F , typename ... Iterators, template< typename... > class T, std::size_t ... I>
decltype(auto) grppi::internal::apply_increment (F &&f, T< Iterators... > &iterators, std::index_sequence< I... >)
 
template<typename F , typename ... Iterators, template< typename... > class T>
decltype(auto) grppi::apply_increment (F &&f, T< Iterators... > &iterators)
 Applies a callable object to the iterators in a tuple like-object and the increments those iterators. This function takes callable object f and a tuple-like object with iterators (e.g. the result of make_tuple(it1, it2, it3)) More...
 
template<typename F , typename T , std::size_t ... I>
decltype(auto) grppi::internal::apply_iterators_indexed_impl (F &&f, T &&t, std::size_t i, std::index_sequence< I... >)
 
template<typename F , typename T >
decltype(auto) grppi::apply_iterators_indexed (F &&f, T &&t, std::size_t i)
 Applies a callable object to the values obtained from the iterators in a tuple by indexing. This function takes callable object f, a tuple-like with iterators (e.g. the result of make_tuple(it1, it2, it3)) and an integral index i. More...
 
template<typename T , std::size_t ... I>
auto grppi::internal::iterators_next_impl (T &&t, int n, std::index_sequence< I... >)
 
template<typename T >
auto grppi::iterators_next (T &&t, int n)
 Computes next n steps from a tuple of iterators. More...
 
template<typename ... InputIt>
void grppi::advance_iterators (size_t delta, InputIt &... in)
 
template<typename ... InputIt>
void grppi::advance_iterators (InputIt &... in)