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 45 of file tuple.

## _GLIBCXX_TUPLE

#define _GLIBCXX_TUPLE

Definition at line 30 of file tuple.