libstdc++
tuple File Reference

Go to the source code of this file.

Classes

class  std::tuple< _Elements >
 
class  std::tuple< _T1, _T2 >
 
struct  std::tuple_element< __i, tuple< _Types... > >
 
struct  std::tuple_size< tuple< _Elements... > >
 
struct  std::uses_allocator< tuple< _Types... >, _Alloc >
 

Namespaces

namespace  std
 

Functions

template<size_t __i, typename _Head , typename... _Tail>
constexpr _Head & std::__get_helper (_Tuple_impl< __i, _Head, _Tail... > &__t) noexcept
 
template<size_t __i, typename _Head , typename... _Tail>
constexpr const _Head & std::__get_helper (const _Tuple_impl< __i, _Head, _Tail... > &__t) noexcept
 
template<size_t __i, typename... _Types>
__enable_if_t<(__i >=sizeof...(_Types))> std::__get_helper (const tuple< _Types... > &)=delete
 
template<typename _Cat , typename _Tp , typename _Up , typename _IndexSeq >
constexpr _Cat std::__tuple_cmp (const _Tp &__t, const _Up &__u, _IndexSeq __indices)
 
template<typename... _Elements>
constexpr tuple< _Elements &&... > std::forward_as_tuple (_Elements &&... __args) noexcept
 
template<size_t __i, typename... _Elements>
constexpr const __tuple_element_t< __i, tuple< _Elements... > > && std::get (const tuple< _Elements... > &&__t) noexcept
 
template<size_t __i, typename... _Elements>
constexpr const __tuple_element_t< __i, tuple< _Elements... > > & std::get (const tuple< _Elements... > &__t) noexcept
 
template<size_t __i, typename... _Elements>
constexpr __tuple_element_t< __i, tuple< _Elements... > > && std::get (tuple< _Elements... > &&__t) noexcept
 
template<size_t __i, typename... _Elements>
constexpr __tuple_element_t< __i, tuple< _Elements... > > & std::get (tuple< _Elements... > &__t) noexcept
 
template<typename... _Elements>
constexpr tuple< typename __decay_and_strip< _Elements >::__type... > std::make_tuple (_Elements &&... __args)
 
template<typename... _Tps, typename... _Ups>
requires (sizeof...(_Tps) == sizeof...(_Ups)) && (requires { typename __detail::__synth3way_t<_Tps, _Ups>; } && ...)
constexpr common_comparison_category_t< __detail::__synth3way_t< _Tps, _Ups >... > std::operator<=> (const tuple< _Tps... > &__t, const tuple< _Ups... > &__u)
 
template<typename... _Tps, typename... _Ups>
requires (sizeof...(_Tps) == sizeof...(_Ups)) && (requires (const _Tps& __t, const _Ups& __u) { { __t == __u } -> __detail::__boolean_testable; } && ...)
constexpr bool std::operator== (const tuple< _Tps... > &__t, const tuple< _Ups... > &__u)
 
template<typename... _Elements>
constexpr enable_if<!__and_< __is_swappable< _Elements >... >::value >::type std::swap (tuple< _Elements... > &, tuple< _Elements... > &)=delete
 
template<typename... _Elements>
constexpr enable_if< __and_< __is_swappable< _Elements >... >::value >::type std::swap (tuple< _Elements... > &__x, tuple< _Elements... > &__y) noexcept(noexcept(__x.swap(__y)))
 
template<typename... _Elements>
constexpr tuple< _Elements &... > std::tie (_Elements &... __args) noexcept
 
template<typename... _UTypes>
 std::tuple (_UTypes...) -> tuple< _UTypes... >
 
template<typename _Alloc , typename... _UTypes>
 std::tuple (allocator_arg_t, _Alloc, _UTypes...) -> tuple< _UTypes... >
 
template<typename _Alloc , typename _T1 , typename _T2 >
 std::tuple (allocator_arg_t, _Alloc, pair< _T1, _T2 >) -> tuple< _T1, _T2 >
 
template<typename _Alloc , typename... _UTypes>
 std::tuple (allocator_arg_t, _Alloc, tuple< _UTypes... >) -> tuple< _UTypes... >
 
template<typename _T1 , typename _T2 >
 std::tuple (pair< _T1, _T2 >) -> tuple< _T1, _T2 >
 
template<typename... _Tpls, typename = typename enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
constexpr auto std::tuple_cat (_Tpls &&... __tpls) -> typename __tuple_cat_result< _Tpls... >::__type
 

Variables

template<typename... _Types>
constexpr size_t std::tuple_size_v< const tuple< _Types... > >
 
template<typename... _Types>
constexpr size_t std::tuple_size_v< tuple< _Types... > >
 

Detailed Description

This is a Standard C++ Library header.

Definition in file tuple.

Macro Definition Documentation

◆ __glibcxx_want_apply

#define __glibcxx_want_apply

Definition at line 50 of file tuple.

◆ __glibcxx_want_constexpr_tuple

#define __glibcxx_want_constexpr_tuple

Definition at line 47 of file tuple.

◆ __glibcxx_want_constrained_equality

#define __glibcxx_want_constrained_equality

Definition at line 54 of file tuple.

◆ __glibcxx_want_make_from_tuple

#define __glibcxx_want_make_from_tuple

Definition at line 51 of file tuple.

◆ __glibcxx_want_ranges_zip

#define __glibcxx_want_ranges_zip

Definition at line 52 of file tuple.

◆ __glibcxx_want_tuple_element_t

#define __glibcxx_want_tuple_element_t

Definition at line 48 of file tuple.

◆ __glibcxx_want_tuple_like

#define __glibcxx_want_tuple_like

Definition at line 53 of file tuple.

◆ __glibcxx_want_tuples_by_type

#define __glibcxx_want_tuples_by_type

Definition at line 49 of file tuple.