libstdc++
tuple File Reference

Go to the source code of this file.

Classes

struct  std::_Tuple_impl< _Idx, _Head, _Tail... >
 
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
 

Macros

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

Typedefs

template<typename _Tp >
using std::__empty_not_final = __conditional_t< __is_final(_Tp), false_type, __is_empty_non_tuple< _Tp > >
 

Functions

template<typename _Fn , typename _Tuple , size_t... _Idx>
constexpr decltype(auto) std::__apply_impl (_Fn &&__f, _Tuple &&__t, index_sequence< _Idx... >)
 
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 _Fn , typename _Tuple >
constexpr decltype(auto) std::apply (_Fn &&__f, _Tuple &&__t) noexcept(__unpack_std_tuple< is_nothrow_invocable, _Fn, _Tuple >)
 
template<typename... _Elements>
constexpr tuple< _Elements &&... > std::forward_as_tuple (_Elements &&... __args) noexcept
 
template<std::size_t _Int, typename _Tp , std::size_t _Nm>
constexpr _Tp && std::get (array< _Tp, _Nm > &&__arr) noexcept
 
template<std::size_t _Int, typename _Tp , std::size_t _Nm>
constexpr _Tp & std::get (array< _Tp, _Nm > &__arr) noexcept
 
template<std::size_t _Int, typename _Tp , std::size_t _Nm>
constexpr const _Tp && std::get (const array< _Tp, _Nm > &&__arr) noexcept
 
template<std::size_t _Int, typename _Tp , std::size_t _Nm>
constexpr const _Tp & std::get (const array< _Tp, _Nm > &__arr) 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<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<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 _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 _Tuple >
constexpr _Tp std::make_from_tuple (_Tuple &&__t) noexcept(__unpack_std_tuple< is_nothrow_constructible, _Tp, _Tuple >)
 
template<typename... _Elements>
constexpr tuple< typename __decay_and_strip< _Elements >::__type... > std::make_tuple (_Elements &&... __args)
 
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 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<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... _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

◆ __cpp_lib_constexpr_tuple

#define __cpp_lib_constexpr_tuple

Definition at line 44 of file tuple.

◆ _GLIBCXX_TUPLE

#define _GLIBCXX_TUPLE

Definition at line 30 of file tuple.