Thrill
0.1
|
Classes | |
class | CallForRangeImpl |
helper for call_for_range: general recursive case More... | |
class | CallForRangeImpl< Index, 0, Functor > |
helper for call_for_range: base case More... | |
struct | make_index_sequence_helper |
struct | make_index_sequence_helper< 0, Indexes... > |
class | VMapForRangeImpl |
helper for vmap_for_range: general recursive case More... | |
class | VMapForRangeImpl< Index, 0, Functor > |
helper for vmap_for_range: base case More... | |
Functions | |
template<typename Functor , typename Tuple , std::size_t... Is> | |
auto | apply_tuple_impl (Functor &&f, Tuple &&t, index_sequence< Is... >) |
static auto | call_chain () |
Base case for the chaining of functors: zero functors, returns the identity. More... | |
template<typename Functor > | |
auto | call_chain (const Functor &functor) |
Base case for the chaining of functors. More... | |
template<typename Functor , typename... MoreFunctors> | |
auto | call_chain (const Functor &functor, const MoreFunctors &... rest) |
Recursive case for the chaining of functors. More... | |
template<typename Functor , typename Arg > | |
void | call_foreach_impl (Functor &&f, Arg &&arg) |
helper for call_foreach: base case More... | |
template<typename Functor , typename Arg , typename... MoreArgs> | |
void | call_foreach_impl (Functor &&f, Arg &&arg, MoreArgs &&... rest) |
helper for call_foreach: general recursive case More... | |
template<typename Functor , typename Tuple , std::size_t... Is> | |
void | call_foreach_tuple_impl (Functor &&f, Tuple &&t, index_sequence< Is... >) |
helper for call_foreach_tuple More... | |
template<typename Functor , typename Tuple , std::size_t... Is> | |
void | call_foreach_tuple_with_index_impl (Functor &&f, Tuple &&t, index_sequence< Is... >) |
helper for call_foreach_tuple_with_index More... | |
template<size_t Index, typename Functor , typename Arg > | |
void | call_foreach_with_index_impl (Functor &&f, Arg &&arg) |
helper for call_foreach_with_index: base case More... | |
template<size_t Index, typename Functor , typename Arg , typename... MoreArgs> | |
void | call_foreach_with_index_impl (Functor &&f, Arg &&arg, MoreArgs &&... rest) |
helper for call_foreach_with_index: general recursive case More... | |
template<typename Functor > | |
auto | call_stack (const Functor &functor) |
Base case for the chaining of functors. More... | |
template<typename Functor , typename... MoreFunctors> | |
auto | call_stack (const Functor &functor, const MoreFunctors &... rest) |
Recursive case for the chaining of functors. More... | |
template<typename Reduce , typename Initial , typename Arg > | |
auto | fold_left_impl (Reduce &&r, Initial &&init, Arg &&arg) |
helper for fold_left(): base case More... | |
template<typename Reduce , typename Initial , typename Arg , typename... MoreArgs> | |
auto | fold_left_impl (Reduce &&r, Initial &&init, Arg &&arg, MoreArgs &&... rest) |
helper for fold_left(): general recursive case More... | |
template<typename Reduce , typename Initial , typename Tuple , std::size_t... Is> | |
auto | fold_left_tuple_impl (Reduce &&r, Initial &&init, Tuple &&t, index_sequence< Is... >) |
helper for fold_left_tuple: forwards tuple entries More... | |
template<typename Reduce , typename Initial , typename Arg > | |
auto | fold_right_impl (Reduce &&r, Initial &&init, Arg &&arg) |
helper for fold_right: base case More... | |
template<typename Reduce , typename Initial , typename Arg , typename... MoreArgs> | |
auto | fold_right_impl (Reduce &&r, Initial &&init, Arg &&arg, MoreArgs &&... rest) |
helper for fold_right: general recursive case More... | |
template<typename Reduce , typename Initial , typename Tuple , std::size_t... Is> | |
auto | fold_right_tuple_impl (Reduce &&r, Initial &&init, Tuple &&t, index_sequence< Is... >) |
helper for fold_right_tuple: forwards tuple entries More... | |
template<typename Functor , typename Arg > | |
auto | vmap_foreach_impl (Functor &&f, Arg &&arg) |
helper for vmap_foreach: base case More... | |
template<typename Functor , typename Arg , typename... MoreArgs> | |
auto | vmap_foreach_impl (Functor &&f, Arg &&arg, MoreArgs &&... rest) |
helper for vmap_foreach: general recursive case More... | |
template<typename Functor , typename Tuple , std::size_t... Is> | |
auto | vmap_foreach_tuple_impl (Functor &&f, Tuple &&t, index_sequence< Is... >) |
helper for vmap_foreach_tuple: forwards tuple entries More... | |
template<typename Functor , typename Tuple , std::size_t... Is> | |
auto | vmap_foreach_tuple_with_index_impl (Functor &&f, Tuple &&t, index_sequence< Is... >) |
helper for vmap_foreach_tuple_with_index: forwards tuple entries More... | |
template<size_t Index, typename Functor , typename Arg > | |
auto | vmap_foreach_with_index_impl (Functor &&f, Arg &&arg) |
helper for vmap_foreach_with_index: base case More... | |
template<size_t Index, typename Functor , typename Arg , typename... MoreArgs> | |
auto | vmap_foreach_with_index_impl (Functor &&f, Arg &&arg, MoreArgs &&... rest) |
helper for vmap_foreach_with_index: general recursive case More... | |
auto tlx::meta_detail::apply_tuple_impl | ( | Functor && | f, |
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
Definition at line 31 of file apply_tuple.hpp.
Referenced by tlx::apply_tuple().
|
inlinestatic |
Base case for the chaining of functors: zero functors, returns the identity.
Definition at line 34 of file function_chain.hpp.
Referenced by call_chain(), and FunctionChain< Functors >::fold_chain().
auto tlx::meta_detail::call_chain | ( | const Functor & | functor | ) |
Base case for the chaining of functors.
The one functor receives an input element
functor | functor that represents the chain end. |
Definition at line 47 of file function_chain.hpp.
auto tlx::meta_detail::call_chain | ( | const Functor & | functor, |
const MoreFunctors &... | rest | ||
) |
Recursive case for the chaining of functors.
The first functor receives an input element, and the remaining chain is applied to the result.
functor | Current functor to be chained. |
rest | Remaining functors. |
Definition at line 64 of file function_chain.hpp.
References call_chain().
void tlx::meta_detail::call_foreach_impl | ( | Functor && | f, |
Arg && | arg | ||
) |
helper for call_foreach: base case
Definition at line 29 of file call_foreach.hpp.
Referenced by tlx::call_foreach(), and call_foreach_impl().
void tlx::meta_detail::call_foreach_impl | ( | Functor && | f, |
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for call_foreach: general recursive case
Definition at line 35 of file call_foreach.hpp.
References call_foreach_impl().
void tlx::meta_detail::call_foreach_tuple_impl | ( | Functor && | f, |
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for call_foreach_tuple
Definition at line 34 of file call_foreach_tuple.hpp.
References tlx::call_foreach().
Referenced by tlx::call_foreach_tuple().
void tlx::meta_detail::call_foreach_tuple_with_index_impl | ( | Functor && | f, |
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for call_foreach_tuple_with_index
Definition at line 34 of file call_foreach_tuple_with_index.hpp.
References tlx::call_foreach_with_index().
Referenced by tlx::call_foreach_tuple_with_index().
void tlx::meta_detail::call_foreach_with_index_impl | ( | Functor && | f, |
Arg && | arg | ||
) |
helper for call_foreach_with_index: base case
Definition at line 33 of file call_foreach_with_index.hpp.
void tlx::meta_detail::call_foreach_with_index_impl | ( | Functor && | f, |
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for call_foreach_with_index: general recursive case
Definition at line 39 of file call_foreach_with_index.hpp.
auto tlx::meta_detail::call_stack | ( | const Functor & | functor | ) |
Base case for the chaining of functors.
The last functor receives an input element, no emitter and should have no return type. It should therefore store the input parameter externally.
functor | Functor that represents the chain end. |
Definition at line 42 of file function_stack.hpp.
Referenced by call_stack(), and FunctionStack< BfsNode >::fold_stack().
auto tlx::meta_detail::call_stack | ( | const Functor & | functor, |
const MoreFunctors &... | rest | ||
) |
Recursive case for the chaining of functors.
The given functor receives an input element, an emitter and should have no return type. The emitter will be built using the chain of remaining functors.
functor | Current functor to be chained. |
rest | Remaining functors. |
Definition at line 61 of file function_stack.hpp.
References call_stack().
auto tlx::meta_detail::fold_left_impl | ( | Reduce && | r, |
Initial && | init, | ||
Arg && | arg | ||
) |
helper for fold_left(): base case
Definition at line 30 of file fold_left.hpp.
Referenced by tlx::fold_left(), and fold_left_impl().
auto tlx::meta_detail::fold_left_impl | ( | Reduce && | r, |
Initial && | init, | ||
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for fold_left(): general recursive case
Definition at line 37 of file fold_left.hpp.
References fold_left_impl().
auto tlx::meta_detail::fold_left_tuple_impl | ( | Reduce && | r, |
Initial && | init, | ||
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for fold_left_tuple: forwards tuple entries
Definition at line 31 of file fold_left_tuple.hpp.
References tlx::fold_left().
Referenced by tlx::fold_left_tuple().
auto tlx::meta_detail::fold_right_impl | ( | Reduce && | r, |
Initial && | init, | ||
Arg && | arg | ||
) |
helper for fold_right: base case
Definition at line 30 of file fold_right.hpp.
Referenced by tlx::fold_right(), and fold_right_impl().
auto tlx::meta_detail::fold_right_impl | ( | Reduce && | r, |
Initial && | init, | ||
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for fold_right: general recursive case
Definition at line 37 of file fold_right.hpp.
References fold_right_impl().
auto tlx::meta_detail::fold_right_tuple_impl | ( | Reduce && | r, |
Initial && | init, | ||
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for fold_right_tuple: forwards tuple entries
Definition at line 31 of file fold_right_tuple.hpp.
References tlx::fold_right().
Referenced by tlx::fold_right_tuple().
auto tlx::meta_detail::vmap_foreach_impl | ( | Functor && | f, |
Arg && | arg | ||
) |
helper for vmap_foreach: base case
Definition at line 31 of file vmap_foreach.hpp.
Referenced by tlx::vmap_foreach(), and vmap_foreach_impl().
auto tlx::meta_detail::vmap_foreach_impl | ( | Functor && | f, |
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for vmap_foreach: general recursive case
Definition at line 38 of file vmap_foreach.hpp.
References vmap_foreach_impl(), and gen_data::x.
auto tlx::meta_detail::vmap_foreach_tuple_impl | ( | Functor && | f, |
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for vmap_foreach_tuple: forwards tuple entries
Definition at line 32 of file vmap_foreach_tuple.hpp.
References tlx::vmap_foreach().
Referenced by tlx::vmap_foreach_tuple().
auto tlx::meta_detail::vmap_foreach_tuple_with_index_impl | ( | Functor && | f, |
Tuple && | t, | ||
index_sequence< Is... > | |||
) |
helper for vmap_foreach_tuple_with_index: forwards tuple entries
Definition at line 34 of file vmap_foreach_tuple_with_index.hpp.
References tlx::vmap_foreach_with_index().
Referenced by tlx::vmap_foreach_tuple_with_index().
auto tlx::meta_detail::vmap_foreach_with_index_impl | ( | Functor && | f, |
Arg && | arg | ||
) |
helper for vmap_foreach_with_index: base case
Definition at line 35 of file vmap_foreach_with_index.hpp.
auto tlx::meta_detail::vmap_foreach_with_index_impl | ( | Functor && | f, |
Arg && | arg, | ||
MoreArgs &&... | rest | ||
) |
helper for vmap_foreach_with_index: general recursive case
Definition at line 42 of file vmap_foreach_with_index.hpp.
References gen_data::x.