16template<concepts::TupleLike Tup>
19 []<
typename... Args>(Args&&... args) {
22 di::forward<Tup>(tuple));
30template<
typename... Args>
35template<
typename... Args>
38template<
typename F,
typename Tup>
42template<
typename F,
typename... Args>
60 template<
typename... Args>
62 constexpr auto operator()(Args&&... args) & ->
decltype(
auto) {
66 template<
typename... Args>
68 constexpr auto operator()(Args&&... args)
const& ->
decltype(
auto) {
72 template<
typename... Args>
74 constexpr auto operator()(Args&&... args) && ->
decltype(
auto) {
78 template<
typename... Args>
80 constexpr auto operator()(Args&&... args)
const&& ->
decltype(
auto) {
86 template<concepts::DecayConstructible F>
constexpr UncurryImpl(UncurryImpl &&)=default
constexpr UncurryImpl(types::InPlace, Fn &&function)
Definition uncurry.h:52
constexpr UncurryImpl(UncurryImpl const &)=default
constexpr auto operator=(UncurryImpl const &) -> UncurryImpl &=delete
constexpr auto operator=(UncurryImpl &&) -> UncurryImpl &=delete
Definition bind_back.h:16
constexpr auto tuple_forward(Tup &&tuple)
Definition uncurry.h:17
decltype(detail::do_tuple_cat(di::declval< Args >()...)) AsTuple
Definition uncurry.h:36
constexpr auto do_tuple_cat(Args &&... args)
Definition uncurry.h:31
constexpr auto uncurry
Definition uncurry.h:94
constexpr auto value
Definition value.h:34
Definition zstring_parser.h:9
constexpr auto tuple_cat(Tups &&... tuples)
Definition tuple_cat.h:11
auto declval() -> meta::AddRValueReference< T >
Definition declval.h:8
constexpr auto apply(F &&f, Tup &&tuple) -> decltype(detail::apply_impl(meta::MakeIndexSequence< meta::TupleSize< Tup > > {}, util::forward< F >(f), util::forward< Tup >(tuple)))
Definition apply.h:22
constexpr auto forward_as_tuple(Args &&... args) -> Tuple< Args &&... >
Definition forward_as_tuple.h:8
constexpr auto in_place
Definition in_place.h:8
constexpr auto operator()(F &&function) const
Definition uncurry.h:87