lunar (3) std::tuple.3cxx.gz

Provided by: libstdc++-9-doc_9.5.0-3ubuntu1_all bug

NAME

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

SYNOPSIS

       Inherits std::_Tuple_impl< 0, _Elements... >.

   Public Types
       template<typename _Dummy > using _TCC = _TC< is_same< _Dummy, void >::value, _Elements...
           >
       template<typename... _UElements> using _TMC =
           _TC<(sizeof...(_Elements)==sizeof...(_UElements)) &&(_TC<(sizeof...(_UElements)==1),
           _Elements... >::template _NotSameTuple< _UElements... >()), _Elements... >
       template<typename... _UElements> using _TMCT =
           _TC<(sizeof...(_Elements)==sizeof...(_UElements)) &&!is_same< tuple< _Elements... >,
           tuple< _UElements... > >::value, _Elements... >
       template<typename _Dummy > using _TNTC = _TC< is_same< _Dummy, void >::value
           &&sizeof...(_Elements)==1, _Elements... >

   Public Member Functions
       template<typename... _UElements, typename enable_if< _TMC< _UElements... >::template
           _MoveConstructibleTuple< _UElements... >() &&_TMC< _UElements... >::template
           _ImplicitlyMoveConvertibleTuple< _UElements... >() &&(sizeof...(_Elements) >=1), bool
           >::type  = true> constexpr tuple (_UElements &&... __elements)
       template<typename... _UElements, typename enable_if< _TMC< _UElements... >::template
           _MoveConstructibleTuple< _UElements... >() &&!_TMC< _UElements... >::template
           _ImplicitlyMoveConvertibleTuple< _UElements... >() &&(sizeof...(_Elements) >=1), bool
           >::type  = false> constexpr tuple (_UElements &&... __elements)
       template<typename _Alloc > tuple (allocator_arg_t __tag, const _Alloc &__a)
       template<typename _Alloc , typename... _UElements, typename enable_if< _TMC< _UElements...
           >::template _MoveConstructibleTuple< _UElements... >() &&_TMC< _UElements...
           >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(), bool >::type  = true>
           tuple (allocator_arg_t __tag, const _Alloc &__a, _UElements &&... __elements)
       template<typename _Alloc , typename... _UElements, typename enable_if< _TMC< _UElements...
           >::template _MoveConstructibleTuple< _UElements... >() &&!_TMC< _UElements...
           >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(), bool >::type  = false>
           tuple (allocator_arg_t __tag, const _Alloc &__a, _UElements &&... __elements)
       template<typename _Alloc , typename _Dummy  = void, typename enable_if< _TCC< _Dummy
           >::template _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy >::template
           _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type  = true> tuple
           (allocator_arg_t __tag, const _Alloc &__a, const _Elements &... __elements)
       template<typename _Alloc , typename _Dummy  = void, typename enable_if< _TCC< _Dummy
           >::template _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy >::template
           _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type  = false> tuple
           (allocator_arg_t __tag, const _Alloc &__a, const _Elements &... __elements)
       template<typename _Alloc > tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple
           &__in)
       template<typename _Alloc , typename _Dummy  = void, typename... _UElements, typename
           enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >()
           &&_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >()
           &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool
           >::type  = true> tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple<
           _UElements... > &__in)
       template<typename _Alloc , typename _Dummy  = void, typename... _UElements, typename
           enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >()
           &&!_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >()
           &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool
           >::type  = false> tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple<
           _UElements... > &__in)
       template<typename _Alloc > tuple (allocator_arg_t __tag, const _Alloc &__a, tuple &&__in)
       template<typename _Alloc , typename _Dummy  = void, typename... _UElements, typename
           enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >()
           &&_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >()
           &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool
           >::type  = true> tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _UElements...
           > &&__in)
       template<typename _Alloc , typename _Dummy  = void, typename... _UElements, typename
           enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >()
           &&!_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >()
           &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool
           >::type  = false> tuple (allocator_arg_t __tag, const _Alloc &__a, tuple<
           _UElements... > &&__in)
       template<typename _Dummy  = void, typename enable_if< _TCC< _Dummy >::template
           _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy >::template
           _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool
           >::type  = true> constexpr tuple (const _Elements &... __elements)
       template<typename _Dummy  = void, typename enable_if< _TCC< _Dummy >::template
           _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy >::template
           _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool
           >::type  = false> constexpr tuple (const _Elements &... __elements)
       constexpr tuple (const tuple &)=default
       template<typename... _UElements, typename _Dummy  = void, typename enable_if< _TMCT<
           _UElements... >::template _ConstructibleTuple< _UElements... >() &&_TMCT<
           _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC<
           _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type
           = true> constexpr tuple (const tuple< _UElements... > &__in)
       template<typename... _UElements, typename _Dummy  = void, typename enable_if< _TMCT<
           _UElements... >::template _ConstructibleTuple< _UElements... >() &&!_TMCT<
           _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC<
           _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type
           = false> constexpr tuple (const tuple< _UElements... > &__in)
       constexpr tuple (tuple &&)=default
       template<typename... _UElements, typename _Dummy  = void, typename enable_if< _TMCT<
           _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMCT<
           _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC<
           _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type  =
           true> constexpr tuple (tuple< _UElements... > &&__in)
       template<typename... _UElements, typename _Dummy  = void, typename enable_if< _TMCT<
           _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMCT<
           _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC<
           _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type  =
           false> constexpr tuple (tuple< _UElements... > &&__in)
       template<typename... _UElements> __enable_if_t< __assignable< const _UElements &... >(),
           tuple & > operator= (const tuple< _UElements... > &__in)
           noexcept(__nothrow_assignable< const _UElements &... >())
       template<typename... _UElements> __enable_if_t< __assignable< _UElements... >(), tuple & >
           operator= (tuple< _UElements... > &&__in) noexcept(__nothrow_assignable< _UElements...
           >())
       tuple & operator= (typename conditional< __assignable< _Elements... >(), tuple &&,
           __nonesuch_no_braces && >::type __in) noexcept(__nothrow_assignable< _Elements... >())
       tuple & operator= (typename conditional< __assignable< const _Elements &... >(), const
           tuple &, const __nonesuch_no_braces & >::type __in) noexcept(__nothrow_assignable<
           const _Elements &... >())
       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 523 of file tuple.

Member Typedef Documentation

   template<typename... _Elements> template<typename _Dummy > using std::tuple< _Elements >::_TCC
       =  _TC<is_same<_Dummy, void>::value, _Elements...>
       Definition at line 576 of file tuple.

   template<typename... _Elements> template<typename... _UElements> using std::tuple< _Elements
       >::_TMC =  _TC<(sizeof...(_Elements) == sizeof...(_UElements)) &&
       (_TC<(sizeof...(_UElements)==1), _Elements...>:: template _NotSameTuple<_UElements...>()),
       _Elements...>
       Definition at line 604 of file tuple.

   template<typename... _Elements> template<typename... _UElements> using std::tuple< _Elements
       >::_TMCT =  _TC<(sizeof...(_Elements) == sizeof...(_UElements)) &&
       !is_same<tuple<_Elements...>, tuple<_UElements...> >::value, _Elements...>
       Definition at line 612 of file tuple.

   template<typename... _Elements> template<typename _Dummy > using std::tuple< _Elements
       >::_TNTC =  _TC<is_same<_Dummy, void>::value && sizeof...(_Elements) == 1, _Elements...>
       Definition at line 646 of file tuple.

Constructor & Destructor Documentation

   template<typename... _Elements> template<typename _Dummy  = void, typename enable_if< _TC2<
       _Dummy >::_ImplicitlyDefaultConstructibleTuple(), bool >::type  = true> constexpr
       std::tuple< _Elements >::tuple () [inline],  [constexpr]
       Definition at line 561 of file tuple.

   template<typename... _Elements> template<typename _Dummy  = void, typename enable_if< _TC2<
       _Dummy >::_DefaultConstructibleTuple() &&!_TC2< _Dummy
       >::_ImplicitlyDefaultConstructibleTuple(), bool >::type  = false> constexpr std::tuple<
       _Elements >::tuple () [inline],  [explicit],  [constexpr]
       Definition at line 571 of file tuple.

   template<typename... _Elements> template<typename _Dummy  = void, typename enable_if< _TCC<
       _Dummy >::template _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy >::template
       _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool >::type
       = true> constexpr std::tuple< _Elements >::tuple (const _Elements &... __elements)
       [inline],  [constexpr]
       Definition at line 588 of file tuple.

   template<typename... _Elements> template<typename _Dummy  = void, typename enable_if< _TCC<
       _Dummy >::template _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy >::template
       _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool >::type
       = false> constexpr std::tuple< _Elements >::tuple (const _Elements &... __elements)
       [inline],  [explicit],  [constexpr]
       Definition at line 599 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename enable_if< _TMC<
       _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMC< _UElements...
       >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&(sizeof...(_Elements)
       >=1), bool >::type  = true> constexpr std::tuple< _Elements >::tuple (_UElements &&...
       __elements) [inline],  [constexpr]
       Definition at line 626 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename enable_if< _TMC<
       _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMC<
       _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >()
       &&(sizeof...(_Elements) >=1), bool >::type  = false> constexpr std::tuple< _Elements
       >::tuple (_UElements &&... __elements) [inline],  [explicit],  [constexpr]
       Definition at line 637 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename _Dummy  = void,
       typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements...
       >() &&_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >()
       &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool
       >::type  = true> constexpr std::tuple< _Elements >::tuple (const tuple< _UElements... > &
       __in) [inline],  [constexpr]
       Definition at line 658 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename _Dummy  = void,
       typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements...
       >() &&!_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >()
       &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool
       >::type  = false> constexpr std::tuple< _Elements >::tuple (const tuple< _UElements... > &
       __in) [inline],  [explicit],  [constexpr]
       Definition at line 670 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename _Dummy  = void,
       typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple<
       _UElements... >() &&_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple<
       _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > &&
       >(), bool >::type  = true> constexpr std::tuple< _Elements >::tuple (tuple< _UElements...
       > && __in) [inline],  [constexpr]
       Definition at line 682 of file tuple.

   template<typename... _Elements> template<typename... _UElements, typename _Dummy  = void,
       typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple<
       _UElements... >() &&!_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple<
       _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > &&
       >(), bool >::type  = false> constexpr std::tuple< _Elements >::tuple (tuple< _UElements...
       > && __in) [inline],  [explicit],  [constexpr]
       Definition at line 693 of file tuple.

   template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple
       (allocator_arg_t __tag, const _Alloc & __a) [inline]
       Definition at line 699 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void, typename
       enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy
       >::template _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type  = true>
       std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements
       &... __elements) [inline]
       Definition at line 709 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void, typename
       enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy
       >::template _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type  = false>
       std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements
       &... __elements) [inline],  [explicit]
       Definition at line 720 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename... _UElements, typename
       enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >()
       &&_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(), bool
       >::type  = true> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc &
       __a, _UElements &&... __elements) [inline]
       Definition at line 730 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename... _UElements, typename
       enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >()
       &&!_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(),
       bool >::type  = false> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc
       & __a, _UElements &&... __elements) [inline],  [explicit]
       Definition at line 741 of file tuple.

   template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple
       (allocator_arg_t __tag, const _Alloc & __a, const tuple< _Elements > & __in) [inline]
       Definition at line 747 of file tuple.

   template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple
       (allocator_arg_t __tag, const _Alloc & __a, tuple< _Elements > && __in) [inline]
       Definition at line 751 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void,
       typename... _UElements, typename enable_if< _TMCT< _UElements... >::template
       _ConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template
       _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template
       _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type  = true> std::tuple<
       _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple< _UElements...
       > & __in) [inline]
       Definition at line 763 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void,
       typename... _UElements, typename enable_if< _TMCT< _UElements... >::template
       _ConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template
       _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template
       _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type  = false> std::tuple<
       _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple< _UElements...
       > & __in) [inline],  [explicit]
       Definition at line 778 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void,
       typename... _UElements, typename enable_if< _TMCT< _UElements... >::template
       _MoveConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template
       _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template
       _NonNestedTuple< tuple< _UElements... > && >(), bool >::type  = true> std::tuple<
       _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, tuple< _UElements... > &&
       __in) [inline]
       Definition at line 793 of file tuple.

   template<typename... _Elements> template<typename _Alloc , typename _Dummy  = void,
       typename... _UElements, typename enable_if< _TMCT< _UElements... >::template
       _MoveConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template
       _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template
       _NonNestedTuple< tuple< _UElements... > && >(), bool >::type  = false> std::tuple<
       _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, tuple< _UElements... > &&
       __in) [inline],  [explicit]
       Definition at line 808 of file tuple.

Member Function Documentation

   template<typename... _Elements> template<typename... _UElements> __enable_if_t< __assignable<
       const _UElements &... >(), tuple & > std::tuple< _Elements >::operator= (const tuple<
       _UElements... > & __in) [inline],  [noexcept]
       Definition at line 838 of file tuple.

   template<typename... _Elements> template<typename... _UElements> __enable_if_t< __assignable<
       _UElements... >(), tuple & > std::tuple< _Elements >::operator= (tuple< _UElements... > &&
       __in) [inline],  [noexcept]
       Definition at line 847 of file tuple.

   template<typename... _Elements> tuple & std::tuple< _Elements >::operator= (typename
       conditional< __assignable< _Elements... >(), tuple< _Elements > &&, __nonesuch_no_braces
       && >::type __in) [inline],  [noexcept]
       Definition at line 827 of file tuple.

   template<typename... _Elements> tuple & std::tuple< _Elements >::operator= (typename
       conditional< __assignable< const _Elements &... >(), const tuple< _Elements > &, const
       __nonesuch_no_braces & >::type __in) [inline],  [noexcept]
       Definition at line 817 of file tuple.

   template<typename... _Elements> void std::tuple< _Elements >::swap (tuple< _Elements > & __in)
       [inline],  [noexcept]
       Definition at line 856 of file tuple.

Author

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