std::tuple< _Elements >(3) | Library Functions Manual | std::tuple< _Elements >(3) |
NAME
std::tuple< _Elements > - Primary class template, tuple.
SYNOPSIS
#include <tuple>
Inherits std::_Tuple_impl< 0, _Elements... >.
Public Member Functions
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 , _ExplicitDefaultCtor<
is_object< _Alloc >::value > = false> 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... >())
constexpr tuple & operator= (__conditional_t<
__assignable< _Elements... >(), tuple &&,
__nonesuch && > __in)
noexcept(__nothrow_assignable< _Elements... >())
constexpr tuple & operator= (__conditional_t<
__assignable< const _Elements &... >(), const tuple &,
const __nonesuch & > __in)
noexcept(__nothrow_assignable< const _Elements &... >())
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 void swap (tuple &__in)
noexcept(__and_< __is_nothrow_swappable< _Elements >...
>::value)
Detailed Description
template<typename... _Elements>
class std::tuple< _Elements >"Primary class template, tuple.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |