23template<
typename Indices,
typename... Types>
27 template<
types::size_t index,
typename Indices,
typename... Types>
37 requires(index_to_find != 0)
56 template<
typename Arg,
typename... Args>
60 template<concepts::TupleLike Tup>
67 , m_value(
util::
get<index>(
util::forward<Tup>(tuple))) {}
76 template<concepts::DecaySameAs<TupleImpl> Self>
81 template<concepts::DecaySameAs<TupleImpl> Self, concepts::TupleLike Tup>
92 template<
typename Self,
typename Tup>
114 template<concepts::TupleLike T>
122 template<concepts::DecaySameAs<TupleImpl> Self, concepts::TupleLike Tup>
127 template<
typename Self,
typename Tup>
Definition tuple_impl.h:24
static constexpr void static_assign(Self &&self, Tup &&other)
Definition tuple_impl.h:86
constexpr TupleImpl(TupleImpl const &)=default
constexpr ~TupleImpl()=default
constexpr TupleImpl()=default
constexpr TupleImpl(ConstructTupleImplValuewise, Arg &&arg, Args &&... args)
Definition tuple_impl.h:57
static constexpr void static_assign_unchecked(Self &&, Tup &&)
Definition tuple_impl.h:128
constexpr ~TupleImpl()=default
constexpr TupleImpl(ConstructTupleImplValuewise)
Definition tuple_impl.h:110
constexpr auto operator=(TupleImpl &&) -> TupleImpl &=default
constexpr TupleImpl(TupleImpl &&)=default
constexpr auto operator=(TupleImpl const &) -> TupleImpl &=default
constexpr TupleImpl()
Definition tuple_impl.h:49
constexpr TupleImpl(TupleImpl &&)=default
constexpr TupleImpl(TupleImpl const &)=default
constexpr auto operator=(TupleImpl &&) -> TupleImpl &=default
constexpr auto operator=(TupleImpl const &) -> TupleImpl &=default
static constexpr void static_assign(Self &&, Tup &&)
Definition tuple_impl.h:125
constexpr TupleImpl(ConstructTupleImplFromTuplelike, T &&)
Definition tuple_impl.h:116
constexpr TupleImpl(ConstructTupleImplFromTuplelike, Tup &&tuple)
Definition tuple_impl.h:65
static constexpr auto static_get(Self &&self) -> meta::Like< Self, T > &&
Definition tuple_impl.h:77
static constexpr void static_assign_unchecked(Self &&self, Tup &&other)
Definition tuple_impl.h:93
#define DI_IMMOVABLE_NO_UNIQUE_ADDRESS
Definition compiler.h:15
Definition operations.h:19
Definition operations.h:11
Definition operations.h:24
std::size_t size_t
Definition size_t.h:12
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
constexpr auto forward_as_base(meta::RemoveReference< Derived > &derived) -> meta::Like< meta::RemoveReference< Derived > &, Base > &&
Definition forward_as_base.h:12
Definition erasure_cast.h:7
constexpr auto construct_tuple_impl_from_tuplelike
Definition tuple_impl.h:21
constexpr auto construct_tuple_impl_valuewise
Definition tuple_impl.h:17
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
Definition tuple_impl.h:19
Definition tuple_impl.h:15
Definition tuple_impl.h:28
TupleImpl< meta::ListV< indices... >, Types... > Type
Definition tuple_impl.h:32