GrPPI
0.3.1
Generic and Reusable Parallel Pattern Interface
|
Classes | |
struct | are_iterators |
struct | are_iterators< T > |
struct | callable |
struct | callable_helper |
struct | callable_helper< R(*)(Args...)> |
struct | callable_helper< R(Args...)> |
struct | callable_helper< R(C::*)(Args...) const > |
struct | callable_helper< R(C::*)(Args...)> |
struct | identity |
Identity type trait. More... | |
struct | is_context |
struct | is_context< context_t< E, T > > |
struct | is_farm |
struct | is_farm< farm_t< T > > |
struct | is_filter |
struct | is_filter< filter_t< T > > |
struct | is_iteration |
struct | is_iteration< iteration_t< T, P > > |
struct | is_iterator |
struct | is_iterator< T, typename std::enable_if<!std::is_same< typename std::iterator_traits< T >::value_type, void >::value >::type > |
struct | is_pipeline |
struct | is_pipeline< pipeline_t< T... > > |
struct | is_queue |
struct | is_queue< mpmc_queue< T > > |
struct | is_reduce |
struct | is_reduce< reduce_t< C, I > > |
struct | output_value_type |
struct | output_value_type< I, pipeline_t< T, U... > > |
Typedefs | |
template<int Index, typename... T> | |
using | requires_index_last = std::enable_if_t<(Index==(sizeof...(T)-1)), int > |
template<int Index, typename... T> | |
using | requires_index_not_last = std::enable_if_t<(Index< sizeof...(T)-1), int > |
Functions | |
template<typename T > | |
constexpr size_t | callable_arity () |
template<typename G > | |
constexpr bool | has_void_return () |
template<typename F , typename I > | |
constexpr bool | has_void_return () |
template<typename F > | |
constexpr bool | has_arguments () |
template<typename F , typename... Iterators, template< typename... > class T, std::size_t... I> | |
decltype(auto) | apply_deref_increment (F &&f, T< Iterators... > &iterators, std::index_sequence< I... >) |
template<typename F , typename... Iterators, template< typename... > class T, std::size_t... I> | |
decltype(auto) | apply_increment (F &&f, T< Iterators... > &iterators, std::index_sequence< I... >) |
template<typename F , typename T , std::size_t... I> | |
decltype(auto) | apply_iterators_indexed_impl (F &&f, T &&t, std::size_t i, std::index_sequence< I... >) |
template<typename T , std::size_t... I> | |
auto | iterators_next_impl (T &&t, int n, std::index_sequence< I... >) |
using grppi::internal::requires_index_last = typedef std::enable_if_t<(Index == (sizeof...(T) - 1)), int> |
using grppi::internal::requires_index_not_last = typedef std::enable_if_t<(Index < sizeof...(T) - 1), int> |
decltype(auto) grppi::internal::apply_deref_increment | ( | F && | f, |
T< Iterators... > & | iterators, | ||
std::index_sequence< I... > | |||
) |
decltype(auto) grppi::internal::apply_increment | ( | F && | f, |
T< Iterators... > & | iterators, | ||
std::index_sequence< I... > | |||
) |
decltype(auto) grppi::internal::apply_iterators_indexed_impl | ( | F && | f, |
T && | t, | ||
std::size_t | i, | ||
std::index_sequence< I... > | |||
) |
constexpr size_t grppi::internal::callable_arity | ( | ) |
constexpr bool grppi::internal::has_arguments | ( | ) |
constexpr bool grppi::internal::has_void_return | ( | ) |
constexpr bool grppi::internal::has_void_return | ( | ) |
auto grppi::internal::iterators_next_impl | ( | T && | t, |
int | n, | ||
std::index_sequence< I... > | |||
) |