|
template<typename Fun , typename... Ts> |
void | vcsn::detail::for_ (const std::tuple< Ts...> &ts, Fun f) |
|
template<typename Fun , typename... Ts, size_t... I> |
void | vcsn::detail::for_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>) |
|
template<typename Fun , typename... Ts> |
auto | vcsn::detail::map (const std::tuple< Ts...> &ts, Fun f) -> decltype(map_tuple_(f, ts, make_index_sequence< sizeof...(Ts)>())) |
| Map a function on a tuple, return tuple of the results. More...
|
|
template<typename Fun , typename... Ts, size_t... I> |
auto | vcsn::detail::map_tuple_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>) -> decltype(map_variadic_(f, std::get< I >(ts)...)) |
|
template<typename Fun > |
auto | vcsn::detail::map_variadic_ (Fun) -> decltype(std::make_tuple()) |
|
template<typename Fun , typename T , typename... Ts> |
auto | vcsn::detail::map_variadic_ (Fun f, T t, Ts &&...ts) -> decltype(std::tuple_cat(std::make_tuple(f(t)), map_variadic_(f, ts...))) |
|
template<typename... Ts> |
auto | vcsn::detail::reverse_tuple (const std::tuple< Ts...> &t) -> decltype(reverse_tuple(t, make_index_sequence< sizeof...(Ts)>())) |
|
template<typename... Ts, std::size_t... I> |
auto | vcsn::detail::reverse_tuple (const std::tuple< Ts...> &t, index_sequence< I...>) -> decltype(std::make_tuple(std::get< sizeof...(Ts)-1-I >(t)...)) |
|
template<typename... Ts> |
auto | vcsn::detail::make_gcc_tuple (Ts &&...ts) -> decltype(reverse_tuple(std::make_tuple(std::forward< Ts >(ts)...))) |
| Same as make_tuple, unless the evaluation of arguments if right-to-left, in which case reverse the result. More...
|
|
template<typename... Args> |
std::ostream & | vcsn::detail::print (const std::tuple< Args...> &args, std::ostream &o) |
|
template<bool... B> |
constexpr bool | vcsn::any_ () |
| Static evaluation of the 'or' of the template parameters. More...
|
|
template<bool... B> |
constexpr bool | vcsn::all_ () |
|