11 template<
typename F,
typename Tup,
typename Ind>
12 struct TupleTransformValid;
14 template<
size_t... indices,
typename F,
typename Tup>
15 struct TupleTransformValid<F, Tup, meta::ListV<indices...>> {
16 constexpr static bool value = (concepts::Invocable<F&, meta::TupleValue<Tup, indices>> && ...);
20template<
typename F, concepts::TupleLike Tup>
21requires(detail::TupleTransformValid<F, Tup, meta::MakeIndexSequence<meta::TupleSize<Tup>>>::value)
24 [&]<
typename... Types>(Types&&... values) {
27 util::forward<Tup>(tuple));
constexpr auto invoke
Definition invoke.h:100
constexpr auto value
Definition value.h:34
constexpr auto tuple_transform(F &&function, Tup &&tuple)
Definition tuple_transform.h:22
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
Definition any_storable.h:9