|
| template<size_t Idx, class... Args> |
| constexpr auto & | mundy::get (tuple< Args... > &vals) |
| | Get the I'th element of a tuple.
|
| template<size_t Idx, class... Args> |
| constexpr const auto & | mundy::get (const tuple< Args... > &vals) |
| template<size_t Idx, class... Args> |
| constexpr auto && | mundy::get (tuple< Args... > &&vals) |
| template<class T, class... Args> |
| constexpr auto & | mundy::get (tuple< Args... > &vals) |
| | Get the element of a tuple with the given type T (errors if T is not unique).
|
| template<class T, class... Args> |
| constexpr const auto & | mundy::get (const tuple< Args... > &vals) |
| template<class FirstTuple, class SecondTuple> |
| constexpr auto | mundy::tuple_cat (FirstTuple &&first, SecondTuple &&second) |
| | Concatenate two tuples into a single tuple containing all elements of both, copying or moving each element depending on whether its source tuple is passed as an lvalue or rvalue.
|
| template<class... Elements> |
| constexpr auto | mundy::make_tuple (Elements... vals) |
| | Make a tuple from a list of values.
|
| template<class F, class... Elements> |
| constexpr void | mundy::for_each (tuple< Elements... > &t, F &&f) |
| | Call f(element) for every element of the tuple, in order.
|
| template<class F, class... Elements> |
| constexpr void | mundy::for_each (const tuple< Elements... > &t, F &&f) |
| template<class Pred, class... Elements> |
| constexpr bool | mundy::all_of (const tuple< Elements... > &t, Pred &&pred) |
| | True if pred(element) holds for every element of the tuple (vacuously true for an empty tuple).
|
| template<class Pred, class... Elements> |
| constexpr bool | mundy::any_of (const tuple< Elements... > &t, Pred &&pred) |
| | True if pred(element) holds for at least one element of the tuple (vacuously false for an empty tuple).
|
| template<class F, class... Elements> |
| constexpr decltype(auto) | mundy::apply (F &&f, tuple< Elements... > &t) |
| | Invoke f with the tuple's elements as positional arguments: f(get<0>(t), get<1>(t), ...).
|
| template<class F, class... Elements> |
| constexpr decltype(auto) | mundy::apply (F &&f, const tuple< Elements... > &t) |