|
template<typename... _UElements, bool _Valid = __valid_args<_UElements...>(), _ImplicitCtor< _Valid, _UElements... > = true> |
constexpr | tuple (_UElements &&... __elements) noexcept(__nothrow_constructible< _UElements... >()) |
|
template<typename... _UElements, bool _Valid = __valid_args<_UElements...>(), _ExplicitCtor< _Valid, _UElements... > = false> |
constexpr | tuple (_UElements &&... __elements) noexcept(__nothrow_constructible< _UElements... >()) |
|
template<typename _Alloc , _ImplicitDefaultCtor< is_object< _Alloc >::value > = true> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = __valid_args<_UElements...>(), _ImplicitCtor< _Valid, _UElements... > = true> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, _UElements &&... __elements) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = __valid_args<_UElements...>(), _ExplicitCtor< _Valid, _UElements... > = false> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, _UElements &&... __elements) |
|
template<typename _Alloc , bool _NotEmpty = (sizeof...(_Elements) >= 1), _ImplicitCtor< _NotEmpty, const _Elements &... > = true> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, const _Elements &... __elements) |
|
template<typename _Alloc , bool _NotEmpty = (sizeof...(_Elements) >= 1), _ExplicitCtor< _NotEmpty, const _Elements &... > = false> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, const _Elements &... __elements) |
|
template<typename _Alloc > |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple &__in) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ImplicitCtor< _Valid, const _UElements &... > = true> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _UElements... > &__in) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ExplicitCtor< _Valid, const _UElements &... > = false> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _UElements... > &__in) |
|
template<typename _Alloc > |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, tuple &&__in) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ImplicitCtor< _Valid, _UElements... > = true> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _UElements... > &&__in) |
|
template<typename _Alloc , typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ExplicitCtor< _Valid, _UElements... > = false> |
constexpr | tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _UElements... > &&__in) |
|
template<bool _NotEmpty = (sizeof...(_Elements) >= 1), _ImplicitCtor< _NotEmpty, const _Elements &... > = true> |
constexpr | tuple (const _Elements &... __elements) noexcept(__nothrow_constructible< const _Elements &... >()) |
|
template<bool _NotEmpty = (sizeof...(_Elements) >= 1), _ExplicitCtor< _NotEmpty, const _Elements &... > = false> |
constexpr | tuple (const _Elements &... __elements) noexcept(__nothrow_constructible< const _Elements &... >()) |
|
constexpr | tuple (const tuple &)=default |
|
template<typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ImplicitCtor< _Valid, const _UElements &... > = true> |
constexpr | tuple (const tuple< _UElements... > &__in) noexcept(__nothrow_constructible< const _UElements &... >()) |
|
template<typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ExplicitCtor< _Valid, const _UElements &... > = false> |
constexpr | tuple (const tuple< _UElements... > &__in) noexcept(__nothrow_constructible< const _UElements &... >()) |
|
constexpr | tuple (tuple &&)=default |
|
template<typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ImplicitCtor< _Valid, _UElements... > = true> |
constexpr | tuple (tuple< _UElements... > &&__in) noexcept(__nothrow_constructible< _UElements... >()) |
|
template<typename... _UElements, bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ExplicitCtor< _Valid, _UElements... > = false> |
constexpr | tuple (tuple< _UElements... > &&__in) noexcept(__nothrow_constructible< _UElements... >()) |
|
template<typename... _UElements> |
constexpr __enable_if_t< __assignable< const _UElements &... >(), tuple & > | operator= (const tuple< _UElements... > &__in) noexcept(__nothrow_assignable< const _UElements &... >()) |
|
template<typename... _UElements> |
constexpr __enable_if_t< __assignable< _UElements... >(), tuple & > | operator= (tuple< _UElements... > &&__in) noexcept(__nothrow_assignable< _UElements... >()) |
|
constexpr tuple & | operator= (typename conditional< __assignable< _Elements... >(), tuple &&, __nonesuch && >::type __in) noexcept(__nothrow_assignable< _Elements... >()) |
|
constexpr tuple & | operator= (typename conditional< __assignable< const _Elements &... >(), const tuple &, const __nonesuch & >::type __in) noexcept(__nothrow_assignable< const _Elements &... >()) |
|
constexpr void | swap (tuple &__in) noexcept(__and_< __is_nothrow_swappable< _Elements >... >::value) |
|
template<typename... _Elements>
class std::tuple< _Elements >
Primary class template, tuple.
Definition at line 609 of file tuple.