#include <di/vocab/tuple/tuple.h>
|
| constexpr | Tuple ()=default |
| constexpr | Tuple (Tuple const &)=default |
| constexpr | Tuple (Tuple &&)=default |
| constexpr | Tuple (Types const &... args) |
template<typename... Args>
requires (sizeof...(Types) == sizeof...(Args) && sizeof...(Types) > 0 && (concepts::ConstructibleFrom<Types, Args> && ...)) |
| constexpr | Tuple (Args &&... args) |
template<typename Tup>
requires (!concepts::DecaySameAs<Tuple, Tup> && concepts::ConstructibleFrom<Base, ConstructTupleImplFromTuplelike, Tup>) |
| constexpr | Tuple (Tup &&value) |
| constexpr | ~Tuple ()=default |
| constexpr auto | operator= (Tuple const &other) -> Tuple &requires(concepts::CopyAssignable< Types > &&...) |
| constexpr auto | operator= (Tuple const &other) const -> Tuple const &requires(concepts::CopyAssignable< Types const > &&...) |
| constexpr auto | operator= (Tuple &&other) -> Tuple &requires(concepts::MoveAssignable< Types > &&...) |
| constexpr auto | operator= (Tuple &&other) const -> Tuple const &requires(concepts::AssignableFrom< Types const &, Types > &&...) |
template<concepts::TupleLike Tup>
requires (!concepts::DecaySameAs<Tup, Tuple> && requires(Base& self, Tup&& other) { Base::static_assign(self, util::forward<Tup>(other)); }) |
| constexpr auto | operator= (Tup &&other) -> Tuple & |
template<concepts::TupleLike Tup>
requires (!concepts::DecaySameAs<Tup, Tuple> && requires(Base const& self, Tup&& other) { Base::static_assign(self, util::forward<Tup>(other)); }) |
| constexpr auto | operator= (Tup &&other) const -> Tuple const & |
| constexpr auto | get () &-> decltype(auto) |
|
template<typename... Other>
requires (sizeof...(Types) == sizeof...(Other) && requires { requires(concepts::EqualityComparableWith<Types, Other> && ...); }) |
| constexpr friend auto | operator== (Tuple const &a, Tuple< Other... > const &b) -> bool |
template<typename... Other>
requires (sizeof...(Types) == sizeof...(Other) && requires { requires(concepts::ThreeWayComparableWith<Types, Other> && ...); }) |
| constexpr friend auto | operator<=> (Tuple const &a, Tuple< Other... > const &b) -> meta::CommonComparisonCategory< meta::CompareThreeWayResult< Types, Other >... > |
| template<concepts::DerivedFrom< Tuple > Self = Tuple> |
| constexpr friend auto | tag_invoke (types::Tag< tuple_size >, types::InPlaceType< Self >) -> types::size_t |
| template<types::size_t index, concepts::DerivedFrom< Tuple > Self = Tuple> |
| constexpr friend auto | tag_invoke (types::Tag< tuple_element >, types::InPlaceType< Self >, Constexpr< index >) -> InPlaceType< meta::At< TypeList, index > > |
| template<types::size_t index, concepts::DerivedFrom< Tuple > Self = Tuple> |
| constexpr friend auto | tag_invoke (types::Tag< tuple_element >, types::InPlaceType< Self const >, Constexpr< index >) -> InPlaceType< meta::At< TypeList, index > const > |
template<types::size_t index, typename Self>
requires (index < sizeof...(Types) && concepts::DerivedFrom<meta::Decay<Self>, Tuple>) |
| constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, Constexpr< index >, Self &&self) -> meta::Like< Self, meta::TupleElement< Self, index > > && |
template<typename T, typename Self = Tuple>
requires (concepts::DerivedFrom<meta::RemoveCVRef<Self>, Tuple> && meta::UniqueType<T, meta::List<Types...>>) |
| constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, InPlaceType< T >, Self &&self) -> meta::Like< Self, T > && |
◆ Tuple() [1/6]
template<typename... Types>
◆ Tuple() [2/6]
template<typename... Types>
◆ Tuple() [3/6]
template<typename... Types>
◆ Tuple() [4/6]
template<typename... Types>
◆ Tuple() [5/6]
template<typename... Types>
template<typename... Args>
requires (sizeof...(Types) == sizeof...(Args) && sizeof...(Types) > 0 && (concepts::ConstructibleFrom<Types, Args> && ...))
◆ Tuple() [6/6]
template<typename... Types>
◆ ~Tuple()
template<typename... Types>
◆ operator=() [1/6]
template<typename... Types>
template<concepts::TupleLike Tup>
requires (!concepts::DecaySameAs<Tup,
Tuple> && requires(Base& self, Tup&& other) { Base::static_assign(self, util::forward<Tup>(other)); })
◆ operator=() [2/6]
template<typename... Types>
template<concepts::TupleLike Tup>
requires (!concepts::DecaySameAs<Tup,
Tuple> && requires(Base const& self, Tup&& other) { Base::static_assign(self, util::forward<Tup>(other)); })
◆ operator=() [3/6]
template<typename... Types>
◆ operator=() [4/6]
template<typename... Types>
| auto di::vocab::Tuple< Types >::operator= |
( |
Tuple< Types > && | other | ) |
const->Tupleconst &requires(concepts::AssignableFrom< Typesconst &, Types > &&...) |
|
inlineconstexpr |
◆ operator=() [5/6]
template<typename... Types>
| auto di::vocab::Tuple< Types >::operator= |
( |
Tuple< Types > const & | other | ) |
->Tuple &requires(concepts::CopyAssignable< Types > &&...) |
|
inlineconstexpr |
◆ operator=() [6/6]
template<typename... Types>
| auto di::vocab::Tuple< Types >::operator= |
( |
Tuple< Types > const & | other | ) |
const->Tupleconst &requires(concepts::CopyAssignable< Typesconst > &&...) |
|
inlineconstexpr |
◆ operator<=>
template<typename... Types>
template<typename... Other>
requires (sizeof...(Types) == sizeof...(Other) && requires { requires(concepts::ThreeWayComparableWith<Types, Other> && ...); })
◆ operator==
template<typename... Types>
template<typename... Other>
requires (sizeof...(Types) == sizeof...(Other) && requires { requires(concepts::EqualityComparableWith<Types, Other> && ...); })
| friend auto operator== |
( |
Tuple< Types > const & | a, |
|
|
Tuple< Other... > const & | b )->bool |
|
friend |
◆ tag_invoke [1/5]
template<typename... Types>
◆ tag_invoke [2/5]
template<typename... Types>
◆ tag_invoke [3/5]
template<typename... Types>
template<concepts::DerivedFrom<
Tuple > Self = Tuple>
◆ tag_invoke [4/5]
template<typename... Types>
◆ tag_invoke [5/5]
template<typename... Types>
The documentation for this class was generated from the following file: