libstdc++
tuple File Reference

Go to the source code of this file.

Classes

struct  std::_Tuple_impl< _Idx, _Elements >
 
struct  std::_Tuple_impl< _Idx, _Head, _Tail...>
 
class  std::tuple< _Elements >
 
class  std::tuple< _Elements >
 
class  std::tuple< _T1, _T2 >
 
struct  std::tuple_element< 0, tuple< _Head, _Tail...> >
 
struct  std::tuple_element< __i, tuple< _Head, _Tail...> >
 
struct  std::tuple_element< __i, tuple<> >
 
struct  std::tuple_size< tuple< _Elements...> >
 
struct  std::uses_allocator< tuple< _Types...>, _Alloc >
 

Namespaces

 std
 

Macros

#define __cpp_lib_apply
 
#define __cpp_lib_make_from_tuple
 
#define __cpp_lib_tuples_by_type
 
#define _GLIBCXX_TUPLE
 

Typedefs

typedef __tuple_concater
< __ret, __idx, _Tpls...> 
std::__concater
 
template<typename _Tp >
using std::__empty_not_final = typename conditional< __is_final(_Tp), false_type, __is_empty_non_tuple< _Tp >>::type
 
typedef __make_1st_indices
< _Tpls...>::__type 
std::__idx
 

Functions

template<typename _Fn , typename _Tuple , size_t... _Idx>
decltype(auto) constexpr std::__apply_impl (_Fn &&__f, _Tuple &&__t, index_sequence< _Idx...>)
 
template<typename _Tp , typename... _Types>
constexpr size_t std::__find_uniq_type_in_pack ()
 
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 _Tp , typename _Tuple , size_t... _Idx>
constexpr _Tp std::__make_from_tuple_impl (_Tuple &&__t, index_sequence< _Idx...>)
 
template<typename... _Elements>
constexpr tuple< _Elements &&...> std::forward_as_tuple (_Elements &&...__args) 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 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 const
__tuple_element_t< __i, tuple
< _Elements...> > && 
std::get (const tuple< _Elements...> &&__t) noexcept
 
template<typename _Tp , typename... _Types>
constexpr _Tp & std::get (tuple< _Types...> &__t) noexcept
 
template<typename _Tp , typename... _Types>
constexpr _Tp && std::get (tuple< _Types...> &&__t) noexcept
 
template<typename _Tp , typename... _Types>
constexpr const _Tp & std::get (const tuple< _Types...> &__t) noexcept
 
template<typename _Tp , typename... _Types>
constexpr const _Tp && std::get (const tuple< _Types...> &&__t) noexcept
 
template<typename... _Elements>
constexpr tuple< typename
__decay_and_strip< _Elements >
::__type...> 
std::make_tuple (_Elements &&...__args)
 
template<typename... _Elements>
constexpr enable_if< __and_
< __is_swappable< _Elements >
...>::value >::type 
std::noexcept (noexcept(__x.swap(__y)))
 
template<typename _Fn , typename _Tuple >
decltype(auto) constexpr std::noexcept (__unpack_std_tuple< is_nothrow_invocable, _Fn, _Tuple >)
 
template<typename _Tp , typename _Tuple >
constexpr _Tp std::noexcept (__unpack_std_tuple< is_nothrow_constructible, _Tp, _Tuple >)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator!= (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator< (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator<= (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator== (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator> (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _TElements, typename... _UElements>
constexpr bool std::operator>= (const tuple< _TElements...> &__t, const tuple< _UElements...> &__u)
 
template<typename... _Elements>
constexpr enable_if<!__and_
< __is_swappable< _Elements >
...>::value >::type 
std::swap (tuple< _Elements...> &, tuple< _Elements...> &)=delete
 
template<typename... _Elements>
constexpr tuple< _Elements &...> std::tie (_Elements &...__args) noexcept
 

Variables

template<template< typename...> class _Trait, typename _Tp , typename _Tuple >
constexpr bool std::__unpack_std_tuple
 
template<template< typename...> class _Trait, typename _Tp , typename... _Up>
constexpr bool std::__unpack_std_tuple< _Trait, _Tp, const tuple< _Up...> & >
 
template<template< typename...> class _Trait, typename _Tp , typename... _Up>
constexpr bool std::__unpack_std_tuple< _Trait, _Tp, const tuple< _Up...> >
 
template<template< typename...> class _Trait, typename _Tp , typename... _Up>
constexpr bool std::__unpack_std_tuple< _Trait, _Tp, tuple< _Up...> & >
 
template<template< typename...> class _Trait, typename _Tp , typename... _Up>
constexpr bool std::__unpack_std_tuple< _Trait, _Tp, tuple< _Up...> >
 
constexpr _Swallow_assign std::ignore
 
template<typename _Tp >
constexpr size_t std::tuple_size_v
 

Detailed Description

This is a Standard C++ Library header.

Definition in file tuple.