Manpages - std_tuple.3

Table of Contents

NAME

std::tuple< _Elements > - Primary class template, tuple.

SYNOPSIS


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 , 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)

Detailed Description

“template<typename… _Elements>


class std::tuple< _Elements >“Primary class template, tuple.

Definition at line 599 of file std/tuple.

Constructor & Destructor Documentation

template<typename… _Elements> template<typename _Dummy = void,

_ImplicitDefaultCtor< is_void*< _Dummy >::value > = true> constexpr *std::tuple*< _Elements >::*tuple ()= [inline]=, = [constexpr]=, = [noexcept]= Definition at line 703 of file std/tuple.

template<typename… _Elements> template<typename _Dummy = void,

_ExplicitDefaultCtor< is_void*< _Dummy >::value > = false> constexpr *std::tuple*< _Elements >::*tuple ()= [inline]=, = [explicit]=, = [constexpr]=, = [noexcept]= Definition at line 710 of file std/tuple.

template<typename… _Elements> template<bool _NotEmpty =

(sizeof…(_Elements) >= 1), _ImplicitCtor< _NotEmpty, const _Elements &… > = true> constexpr std::tuple*< _Elements >::*tuple (const _Elements &… __elements)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line 717 of file std/tuple.

template<typename… _Elements> template<bool _NotEmpty =

(sizeof…(_Elements) >= 1), _ExplicitCtor< _NotEmpty, const _Elements &… > = false> constexpr std::tuple*< _Elements >::*tuple (const _Elements &… __elements)= [inline]=, = [explicit]=, = [constexpr]=, = [noexcept]= Definition at line 724 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = __valid_args<_UElements…>(), _ImplicitCtor< _Valid, _UElements… > = true> constexpr std::tuple*< _Elements >::*tuple (_UElements &&… __elements)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line 732 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = __valid_args<_UElements…>(), _ExplicitCtor< _Valid, _UElements… > = false> constexpr std::tuple*< _Elements >::*tuple (_UElements &&… __elements)= [inline]=, = [explicit]=, = [constexpr]=, = [noexcept]= Definition at line 740 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ImplicitCtor< _Valid, const _UElements &... > = true> constexpr *std::tuple*< _Elements >::*tuple* (const *tuple*< _UElements... > & __in) [inline]=, = [constexpr]=, = [noexcept]= Definition at line 753 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ExplicitCtor< _Valid, const _UElements &... > = false> constexpr *std::tuple*< _Elements >::*tuple* (const *tuple*< _UElements... > & __in) [inline]=, = [explicit]=, = [constexpr]=, = [noexcept]= Definition at line 763 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ImplicitCtor< _Valid, _UElements... > = true> constexpr *std::tuple*< _Elements >::*tuple* (*tuple*< _UElements... > && __in) [inline]=, = [constexpr]=, = [noexcept]= Definition at line 773 of file std/tuple.

template<typename… _Elements> template<typename… _UElements, bool

_Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ExplicitCtor< _Valid, _UElements... > = false> constexpr *std::tuple*< _Elements >::*tuple* (*tuple*< _UElements... > && __in) [inline]=, = [explicit]=, = [constexpr]=, = [noexcept]= Definition at line 782 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

_ImplicitDefaultCtor< is_object*< _Alloc >::value > = true> constexpr *std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a)= [inline]=, = [constexpr]= Definition at line 791 of file std/tuple.

template<typename… _Elements> template<typename _Alloc , bool

_NotEmpty = (sizeof…(_Elements) >= 1), _ImplicitCtor< _NotEmpty, const _Elements &… > = true> constexpr std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements &… __elements)= [inline]=, = [constexpr]= Definition at line 797 of file std/tuple.

template<typename… _Elements> template<typename _Alloc , bool

_NotEmpty = (sizeof…(_Elements) >= 1), _ExplicitCtor< _NotEmpty, const _Elements &… > = false> constexpr std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements &… __elements)= [inline]=, = [explicit]=, = [constexpr]= Definition at line 805 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = __valid_args<_UElements…>(), _ImplicitCtor< _Valid, _UElements… > = true> constexpr std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, _UElements &&… __elements)= [inline]=, = [constexpr]= Definition at line 813 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = __valid_args<_UElements…>(), _ExplicitCtor< _Valid, _UElements… > = false> constexpr std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, _UElements &&… __elements)= [inline]=, = [explicit]=, = [constexpr]= Definition at line 823 of file std/tuple.

template<typename… _Elements> template<typename _Alloc > constexpr

std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple*< _Elements > & __in)= [inline]=, = [constexpr]= Definition at line *830 of file std/tuple.

template<typename… _Elements> template<typename _Alloc > constexpr

std::tuple*< _Elements >::*tuple (allocator_arg_t __tag, const _Alloc & __a, tuple*< _Elements > && __in)= [inline]=, = [constexpr]= Definition at line *835 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ImplicitCtor< _Valid, const _UElements &... > = true> constexpr *std::tuple*< _Elements >::*tuple* (*allocator_arg_t* __tag, const _Alloc & __a, const *tuple*< _UElements... > & __in) [inline]=, = [constexpr]= Definition at line 843 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<const tuple<_UElements...>&>(), _ExplicitCtor< _Valid, const _UElements &... > = false> constexpr *std::tuple*< _Elements >::*tuple* (*allocator_arg_t* __tag, const _Alloc & __a, const *tuple*< _UElements... > & __in) [inline]=, = [explicit]=, = [constexpr]= Definition at line 855 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ImplicitCtor< _Valid, _UElements... > = true> constexpr *std::tuple*< _Elements >::*tuple* (*allocator_arg_t* __tag, const _Alloc & __a, *tuple*< _UElements... > && __in) [inline]=, = [constexpr]= Definition at line 866 of file std/tuple.

template<typename… _Elements> template<typename _Alloc ,

typename… _UElements, bool _Valid = (sizeof…(_Elements) = sizeof...(_UElements)) && !__use_other_ctor<tuple<_UElements...>&&>(), _ExplicitCtor< _Valid, _UElements... > = false> constexpr *std::tuple*< _Elements >::*tuple* (*allocator_arg_t* __tag, const _Alloc & __a, *tuple*< _UElements... > && __in) [inline]=, = [explicit]=, = [constexpr]= Definition at line 878 of file std/tuple.

Member Function Documentation

template<typename… _Elements> template<typename… _UElements>

constexpr __enable_if_t< __assignable< const _UElements &… >(), tuple & > std::tuple*< _Elements >::operator= (const *tuple*< _UElements… > & __in)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line *911 of file std/tuple.

template<typename… _Elements> template<typename… _UElements>

constexpr __enable_if_t< __assignable< _UElements… >(), tuple & > std::tuple*< _Elements >::operator= (*tuple*< _UElements… > && __in)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line *921 of file std/tuple.

template<typename… _Elements> constexpr tuple & *std::tuple*<

_Elements >::operator= (typename conditional*< __assignable< _Elements… >(), *tuple*< _Elements > &&, __nonesuch && >::type __in)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line *899 of file std/tuple.

template<typename… _Elements> constexpr tuple & *std::tuple*<

_Elements >::operator= (typename conditional*< __assignable< const _Elements &… >(), const *tuple*< _Elements > &, const __nonesuch & >::type __in)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line *888 of file std/tuple.

template<typename… _Elements> constexpr void *std::tuple*<

_Elements >::swap (tuple*< _Elements > & __in)= [inline]=, = [constexpr]=, = [noexcept]= Definition at line *931 of file std/tuple.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Author: dt

Created: 2022-02-21 Mon 12:19