|
template<typename... _Args1, typename... _Args2> |
constexpr | std::pair< _T1, _T2 >::pair (piecewise_construct_t, tuple< _Args1... >, tuple< _Args2... >) |
|
template<typename _Tp > |
constexpr _Tp * | std::__addressof (_Tp &__r) noexcept |
|
template<typename _Fn , typename _Tuple , size_t... _Idx> |
constexpr decltype(auto) | std::__apply_impl (_Fn &&__f, _Tuple &&__t, index_sequence< _Idx... >) |
|
template<typename _Tp , typename _Up = _Tp> |
constexpr _Tp | std::__exchange (_Tp &__obj, _Up &&__new_val) |
|
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 _Up = typename __inv_unwrap<_Tp>::type> |
constexpr _Up && | std::__invfwd (typename remove_reference< _Tp >::type &__t) noexcept |
|
template<typename _Callable , typename... _Args> |
constexpr __invoke_result< _Callable, _Args... >::type | std::__invoke (_Callable &&__fn, _Args &&... __args) noexcept(__is_nothrow_invocable< _Callable, _Args... >::value) |
|
template<typename _Res , typename _MemFun , typename _Tp , typename... _Args> |
constexpr _Res | std::__invoke_impl (__invoke_memfun_deref, _MemFun &&__f, _Tp &&__t, _Args &&... __args) |
|
template<typename _Res , typename _MemFun , typename _Tp , typename... _Args> |
constexpr _Res | std::__invoke_impl (__invoke_memfun_ref, _MemFun &&__f, _Tp &&__t, _Args &&... __args) |
|
template<typename _Res , typename _MemPtr , typename _Tp > |
constexpr _Res | std::__invoke_impl (__invoke_memobj_deref, _MemPtr &&__f, _Tp &&__t) |
|
template<typename _Res , typename _MemPtr , typename _Tp > |
constexpr _Res | std::__invoke_impl (__invoke_memobj_ref, _MemPtr &&__f, _Tp &&__t) |
|
template<typename _Res , typename _Fn , typename... _Args> |
constexpr _Res | std::__invoke_impl (__invoke_other, _Fn &&__f, _Args &&... __args) |
|
template<typename _Res , typename _Callable , typename... _Args> |
constexpr enable_if_t< is_invocable_r_v< _Res, _Callable, _Args... >, _Res > | std::__invoke_r (_Callable &&__fn, _Args &&... __args) noexcept(is_nothrow_invocable_r_v< _Res, _Callable, _Args... >) |
|
template<typename _Tp , typename _Tuple , size_t... _Idx> |
constexpr _Tp | std::__make_from_tuple_impl (_Tuple &&__t, index_sequence< _Idx... >) |
|
void | std::__throw_bad_any_cast () |
|
void | std::__throw_bad_optional_access () |
|
static void | std::any::_Manager_internal< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg) |
|
static void | std::any::_Manager_external< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg) |
|
template<typename _Tp > |
constexpr _Tp * | std::addressof (_Tp &__r) noexcept |
|
template<typename _Tp > |
const _Tp * | std::addressof (const _Tp &&)=delete |
|
template<typename _ValueType > |
_ValueType | std::any_cast (const any &__any) |
|
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 _Tp > |
auto | std::declval () noexcept -> decltype(__declval< _Tp >(0)) |
|
template<typename _Tp > |
constexpr _Tp && | std::forward (typename std::remove_reference< _Tp >::type &&__t) noexcept |
|
template<typename _Tp > |
constexpr _Tp && | std::forward (typename std::remove_reference< _Tp >::type &__t) noexcept |
|
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... _Args> |
enable_if_t< is_constructible_v< any, in_place_type_t< _Tp >, _Args... >, any > | std::make_any (_Args &&... __args) |
|
template<typename _Tp , typename _Up , typename... _Args> |
enable_if_t< is_constructible_v< any, in_place_type_t< _Tp >, initializer_list< _Up > &, _Args... >, any > | std::make_any (initializer_list< _Up > __il, _Args &&... __args) |
|
template<typename _Tp , typename _Tuple > |
constexpr _Tp | std::make_from_tuple (_Tuple &&__t) noexcept(__unpack_std_tuple< is_nothrow_constructible, _Tp, _Tuple >) |
|
template<typename _Tp , typename... _Args> |
constexpr enable_if_t< is_constructible_v< _Tp, _Args... >, optional< _Tp > > | std::make_optional (_Args &&... __args) noexcept(is_nothrow_constructible_v< _Tp, _Args... >) |
|
template<typename _Tp > |
constexpr enable_if_t< is_constructible_v< decay_t< _Tp >, _Tp >, optional< decay_t< _Tp > > > | std::make_optional (_Tp &&__t) noexcept(is_nothrow_constructible_v< optional< decay_t< _Tp >>, _Tp >) |
|
template<typename _Tp , typename _Up , typename... _Args> |
constexpr enable_if_t< is_constructible_v< _Tp, initializer_list< _Up > &, _Args... >, optional< _Tp > > | std::make_optional (initializer_list< _Up > __il, _Args &&... __args) noexcept(is_nothrow_constructible_v< _Tp, initializer_list< _Up > &, _Args... >) |
|
template<typename _T1 , typename _T2 > |
constexpr pair< typename __decay_and_strip< _T1 >::__type, typename __decay_and_strip< _T2 >::__type > | make_pair (_T1 &&__x, _T2 &&__y) |
|
template<typename... _Elements> |
constexpr tuple< typename __decay_and_strip< _Elements >::__type... > | std::make_tuple (_Elements &&... __args) |
|
template<typename _Tp > |
constexpr std::remove_reference< _Tp >::type && | std::move (_Tp &&__t) noexcept |
|
template<typename _Tp > |
constexpr __conditional_t< __move_if_noexcept_cond< _Tp >::value, const _Tp &, _Tp && > | std::move_if_noexcept (_Tp &__x) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_ne_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_ne_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_ne_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator!= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator!= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator!= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_lt_t< _Up, _Tp > |
|
template<typename _Tp > |
constexpr bool | std::operator< (const optional< _Tp > &, nullopt_t) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_lt_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_lt_t< _Tp, _Up > |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator< (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator< (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_le_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_le_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_le_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator<= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator<= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator<= (nullopt_t, const optional< _Tp > &) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_eq_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_eq_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_eq_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator== (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator== (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator== (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_gt_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_gt_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_gt_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator> (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator> (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator> (nullopt_t, const optional< _Tp > &) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_ge_t< _Up, _Tp > |
|
template<typename _Tp > |
constexpr bool | std::operator>= (const optional< _Tp > &, nullopt_t) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_ge_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_ge_t< _Tp, _Up > |
|
template<typename... _TElements, typename... _UElements> |
constexpr bool | std::operator>= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
|
template<typename _Tp > |
constexpr bool | std::operator>= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp > |
constexpr enable_if< __and_< __not_< __is_tuple_like< _Tp > >, is_move_constructible< _Tp >, is_move_assignable< _Tp > >::value >::type | std::swap (_Tp &__a, _Tp &__b) noexcept(/*conditional */) is_nothrow_move_assignable< _Tp >> |
|
template<typename _Tp , size_t _Nm> |
constexpr enable_if< __is_swappable< _Tp >::value >::type | std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(/*conditional */) |
|
void | std::swap (any &__x, any &__y) noexcept |
|
template<typename _Tp > |
constexpr enable_if_t< is_move_constructible_v< _Tp > &&is_swappable_v< _Tp > > | std::swap (optional< _Tp > &__lhs, optional< _Tp > &__rhs) noexcept(noexcept(__lhs.swap(__rhs))) |
|
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 |
|
|
template<typename _Tp > |
constexpr bool | std::__is_optional_v |
|
template<typename _Tp > |
constexpr bool | std::__is_optional_v< optional< _Tp > > |
|
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 |
|
constexpr nullopt_t | std::nullopt |
|
constexpr piecewise_construct_t | std::piecewise_construct |
|
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... > > |
|
template<typename _ValueType > |
_ValueType | std::any_cast (any &__any) |
|
template<typename _ValueType > |
_ValueType | std::any_cast (any &&__any) |
|
template<typename _ValueType > |
const _ValueType * | std::any_cast (const any *__any) noexcept |
|
template<typename _ValueType > |
_ValueType * | std::any_cast (any *__any) noexcept |
|
template<typename _T1 , typename _T2 > |
| pair (_T1, _T2) -> pair< _T1, _T2 > |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator== (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator< (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator!= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator> (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator<= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr bool | operator>= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
|
template<typename _T1 , typename _T2 > |
constexpr enable_if< __and_< __is_swappable< _T1 >, __is_swappable< _T2 > >::value >::type | swap (pair< _T1, _T2 > &__x, pair< _T1, _T2 > &__y) noexcept(noexcept(__x.swap(__y))) |
|
Basic function and class templates used with the rest of the library. Includes pair, swap, forward/move helpers, declval, integer_sequence.