libstdc++: Utilities (original) (raw)
Modules |
---|
Classes | |
---|---|
class | std::bitset< _Nb > |
struct | std::pair< _T1, _T2 > |
struct | std::piecewise_construct_t |
class | std::tuple< _Elements > |
class | std::tuple< _T1, _T2 > |
struct | std::tuple_element< __i, tuple< _Types... > > |
struct | std::tuple_size< tuple< _Elements... > > |
struct | std::type_index |
struct | std::uses_allocator< tuple< _Types... >, _Alloc > |
Functions | |
---|---|
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 _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 _Cat , typename _Tp , typename _Up , typename _IndexSeq > | |
constexpr _Cat | std::__tuple_cmp (const _Tp &__t, const _Up &__u, _IndexSeq __indices) |
template<typename _Tp > | |
constexpr _Tp * | std::addressof (_Tp &__r) noexcept |
template<typename _Tp > | |
const _Tp * | std::addressof (const _Tp &&)=delete |
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<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 _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... _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 _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 */) |
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 | |
---|---|
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 _T1 , typename _T2 > | |
pair (_T1, _T2) -> pair< _T1, _T2 > | |
template<typename _T1 , typename _T2 , typename _U1 , typename _U2 > | |
constexpr bool | operator== (const pair< _T1, _T2 > &__x, const pair< _U1, _U2 > &__y) |
template<typename _T1 , typename _T2 , typename _U1 , typename _U2 > | |
constexpr common_comparison_category_t< __detail::__synth3way_t< _T1, _U1 >, __detail::__synth3way_t< _T2, _U2 > > | operator (const pair< _T1, _T2 > &__x, const pair< _U1, _U2 > &__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.
◆ pair() [1/2]
template<typename _T1 , typename _T2 >
pair ( _T1 , _T2 ) -> pair< _T1, _T2 > | related |
---|
Two pairs are equal iff their members are equal.
◆ pair() [2/2]
template<class _T1 , class _T2 >
template<typename... _Args1, typename... _Args2>
"piecewise construction" using a tuple of arguments for each member.
Parameters
__first | Arguments for the first member of the pair. |
---|---|
__second | Arguments for the second member of the pair. |
The elements of each tuple will be used as the constructor arguments for the data members of the pair.
Definition at line 2867 of file tuple.
◆ __addressof()
template<typename _Tp >
constexpr _Tp * std::__addressof ( _Tp & __r) | inlineconstexprnoexcept |
---|
Same as C++11 std::addressof.
Definition at line 51 of file move.h.
Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if(), std::addressof(), std::begin(), std::begin(), std::basic_ios< _CharT, _Traits >::copyfmt(), std::end(), std::end(), std::forward_list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::merge(), std::sub_match< _BiIter >::operator(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence, _Category >::operator=(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator=(), std::deque< _Tp, _Alloc >::operator=(), std::forward_list< _Tp, _Alloc >::operator=(), std::list< _Tp, _Alloc >::operator=(), std::sub_match< _BiIter >::operator==(), std::list< _Tp, _Alloc >::splice(), and std::list< _Tp, _Alloc >::splice().
◆ __exchange()
template<typename _Tp , typename _Up = _Tp>
constexpr _Tp std::__exchange ( _Tp & __obj, _Up && __new_val ) | inlineconstexpr |
---|
Definition at line 175 of file move.h.
◆ __get_helper() [1/2]
template<size_t __i, typename _Head , typename... _Tail>
constexpr _Head & std::__get_helper ( _Tuple_impl< __i, _Head, _Tail... > & __t) | constexprnoexcept |
---|
Definition at line 2424 of file tuple.
◆ __get_helper() [2/2]
template<size_t __i, typename _Head , typename... _Tail>
constexpr const _Head & std::__get_helper ( const _Tuple_impl< __i, _Head, _Tail... > & __t) | constexprnoexcept |
---|
Definition at line 2429 of file tuple.
◆ __invfwd()
template<typename _Tp , typename _Up = typename __inv_unwrap<_Tp>::type>
constexpr _Up && std::__invfwd ( typename remove_reference< _Tp >::type & __t) | constexprnoexcept |
---|
◆ __invoke()
template<typename _Callable , typename... _Args>
constexpr __invoke_result< _Callable, _Args... >::type std::__invoke ( _Callable && __fn, _Args &&... __args ) | constexprnoexcept |
---|
Invoke a callable object.
Definition at line 90 of file invoke.h.
◆ __invoke_impl() [1/5]
template<typename _Res , typename _MemFun , typename _Tp , typename... _Args>
constexpr _Res std::__invoke_impl ( __invoke_memfun_deref , _MemFun && __f, _Tp && __t, _Args &&... __args ) | constexpr |
---|
◆ __invoke_impl() [2/5]
template<typename _Res , typename _MemFun , typename _Tp , typename... _Args>
constexpr _Res std::__invoke_impl ( __invoke_memfun_ref , _MemFun && __f, _Tp && __t, _Args &&... __args ) | constexpr |
---|
◆ __invoke_impl() [3/5]
template<typename _Res , typename _MemPtr , typename _Tp >
constexpr _Res std::__invoke_impl ( __invoke_memobj_deref , _MemPtr && __f, _Tp && __t ) | constexpr |
---|
◆ __invoke_impl() [4/5]
template<typename _Res , typename _MemPtr , typename _Tp >
constexpr _Res std::__invoke_impl ( __invoke_memobj_ref , _MemPtr && __f, _Tp && __t ) | constexpr |
---|
◆ __invoke_impl() [5/5]
template<typename _Res , typename _Fn , typename... _Args>
constexpr _Res std::__invoke_impl ( __invoke_other , _Fn && __f, _Args &&... __args ) | constexpr |
---|
◆ __invoke_r()
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 ) | constexprnoexcept |
---|
◆ __tuple_cmp()
template<typename _Cat , typename _Tp , typename _Up , typename _IndexSeq >
constexpr _Cat std::__tuple_cmp ( const _Tp & __t, const _Up & __u, _IndexSeq __indices ) | constexpr |
---|
Definition at line 2540 of file tuple.
◆ addressof()
template<typename _Tp >
constexpr _Tp * std::addressof ( _Tp & __r) | inlineconstexprnoexcept |
---|
Returns the actual address of the object or function referenced by r, even in the presence of an overloaded operator&.
Parameters
__r | Reference to an object or function. |
---|
Returns
The actual address.
Definition at line 163 of file move.h.
References std::__addressof().
◆ declval()
template<typename _Tp >
auto std::declval ( ) -> decltype(__declval< _Tp >(0)) | noexcept |
---|
Utility to simplify expressions used in unevaluated operands
Since
C++11
Definition at line 2555 of file type_traits.
◆ forward() [1/2]
Forward an rvalue.
Returns
The parameter cast to the specified type.
This function is used to implement "perfect forwarding".
Definition at line 82 of file move.h.
◆ forward() [2/2]
Forward an lvalue.
Returns
The parameter cast to the specified type.
This function is used to implement "perfect forwarding".
Definition at line 70 of file move.h.
◆ forward_as_tuple()
template<typename... _Elements>
constexpr tuple< _Elements &&... > std::forward_as_tuple ( _Elements &&... __args) | constexprnoexcept |
---|
Create a tuple of lvalue or rvalue references to the arguments.
Definition at line 2676 of file tuple.
Referenced by std::map< _Key, _Tp, _Compare, _Alloc >::insert_or_assign(), std::map< _Key, _Tp, _Compare, _Alloc >::insert_or_assign(), std::map< _Key, _Tp, _Compare, _Alloc >::try_emplace(), and std::map< _Key, _Tp, _Compare, _Alloc >::try_emplace().
◆ get() [1/4]
template<size_t __i, typename... _Elements>
constexpr const __tuple_element_t< __i, tuple< _Elements... > > && std::get ( const tuple< _Elements... > && __t) | constexprnoexcept |
---|
Return a const rvalue reference to the ith element of a const tuple rvalue.
Definition at line 2461 of file tuple.
◆ get() [2/4]
template<size_t __i, typename... _Elements>
constexpr const __tuple_element_t< __i, tuple< _Elements... > > & std::get ( const tuple< _Elements... > & __t) | constexprnoexcept |
---|
Return a const reference to the ith element of a const tuple.
Definition at line 2446 of file tuple.
◆ get() [3/4]
template<size_t __i, typename... _Elements>
constexpr __tuple_element_t< __i, tuple< _Elements... > > && std::get ( tuple< _Elements... > && __t) | constexprnoexcept |
---|
Return an rvalue reference to the ith element of a tuple rvalue.
Definition at line 2452 of file tuple.
◆ get() [4/4]
template<size_t __i, typename... _Elements>
constexpr __tuple_element_t< __i, tuple< _Elements... > > & std::get ( tuple< _Elements... > & __t) | constexprnoexcept |
---|
Return a reference to the ith element of a tuple.
Definition at line 2440 of file tuple.
◆ make_pair()
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 ) | related |
---|
A convenience wrapper for creating a pair from two objects.
Parameters
__x | The first object. |
---|---|
__y | The second object. |
Returns
A newly-constructed pair<> object of the appropriate type.
The C++98 standard says the objects are passed by reference-to-const, but C++03 says they are passed by value (this was LWG issue #181).
Since C++11 they have been passed by forwarding reference and then forwarded to the new members of the pair. To create a pair with a member of reference type, pass a reference_wrapper
to this function.
Definition at line 1146 of file stl_pair.h.
◆ make_tuple()
template<typename... _Elements>
constexpr tuple< typename __decay_and_strip< _Elements >::__type... > std::make_tuple ( _Elements &&... __args) | constexpr |
---|
Create a tuple containing copies of the arguments.
Definition at line 2664 of file tuple.
◆ move()
Convert a value to an rvalue.
Parameters
__t | A thing of arbitrary type. |
---|
Returns
The parameter cast to an rvalue-reference to allow moving it.
Definition at line 127 of file move.h.
Referenced by std::unique_ptr< _Tp, _Dp >::~unique_ptr(), std::experimental::any_cast(), std::basic_regex< _Ch_type, _Rx_traits >::assign(), std::async(), std::atomic_compare_exchange_strong(), std::atomic_compare_exchange_strong(), std::atomic_compare_exchange_strong_explicit(), std::atomic_compare_exchange_strong_explicit(), std::atomic_compare_exchange_weak(), std::atomic_compare_exchange_weak(), std::atomic_compare_exchange_weak_explicit(), std::atomic_compare_exchange_weak_explicit(), std::atomic_exchange(), std::atomic_exchange(), std::atomic_store(), std::atomic_store(), std::shared_ptr< _Tp >::const_pointer_cast(), std::shared_ptr< _Tp >::dynamic_pointer_cast(), std::exclusive_scan(), std::exclusive_scan(), std::for_each_n(), std::future< _Res >::get(), std::get(), std::get(), std::get(), std::get(), std::get(), std::get(), std::inclusive_scan(), std::map< _Key, _Tp, _Compare, _Alloc >::insert(), std::multimap< _Key, _Tp, _Compare, _Alloc >::insert(), std::multiset< _Key, _Compare, _Alloc >::insert(), std::set< _Key, _Compare, _Alloc >::insert(), std::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::vector< _Tp, _Alloc >::insert(), std::deque< _Tp, _Alloc >::insert(), std::list< _Tp, _Alloc >::insert(), std::map< _Key, _Tp, _Compare, _Alloc >::insert(), std::multimap< _Key, _Tp, _Compare, _Alloc >::insert(), std::vector< _Tp, _Alloc >::insert(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::map< _Key, _Tp, _Compare, _Alloc >::insert(), std::multimap< _Key, _Tp, _Compare, _Alloc >::insert(), std::multiset< _Key, _Compare, _Alloc >::insert(), std::set< _Key, _Compare, _Alloc >::insert(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::map< _Key, _Tp, _Compare, _Alloc >::insert(), std::multimap< _Key, _Tp, _Compare, _Alloc >::insert(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >::insert(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::experimental::make_boyer_moore_horspool_searcher(), std::experimental::make_boyer_moore_searcher(), std::forward_list< _Tp, _Alloc >::merge(), std::forward_list< _Tp, _Alloc >::merge(), std::move_if_noexcept(), std::tr2::dynamic_bitset< _WordT, _Alloc >::operator&=(), std::chrono::operator<<(), std::deque< _Tp, _Alloc >::operator=(), std::forward_list< _Tp, _Alloc >::operator=(), std::function< _Res(_ArgTypes...)>::operator=(), std::list< _Tp, _Alloc >::operator=(), std::vector< _Tp, _Alloc >::operator=(), std::operator>>(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator, std::reduce(), std::shared_ptr< _Tp >::reinterpret_pointer_cast(), std::unique_ptr< _Tp[], _Dp >::reset(), std::unique_ptr< _Tp, _Dp >::reset(), std::list< _Tp, _Alloc >::splice(), std::list< _Tp, _Alloc >::splice(), std::shared_ptr< _Tp >::static_pointer_cast(), std::transform_exclusive_scan(), std::transform_inclusive_scan(), and std::transform_reduce().
◆ move_if_noexcept()
template<typename _Tp >
constexpr __conditional_t< __move_if_noexcept_cond< _Tp >::value, const _Tp &, _Tp && > std::move_if_noexcept ( _Tp & __x) | constexprnoexcept |
---|
Conditionally convert a value to an rvalue.
Parameters
__x | A thing of arbitrary type. |
---|
Returns
The parameter, possibly cast to an rvalue-reference.
Same as std::move unless the type's move constructor could throw and the type is copyable, in which case an lvalue-reference is returned instead.
Definition at line 148 of file move.h.
References std::move().
◆ operator()
template<typename _T1 , typename _T2 , typename _U1 , typename _U2 >
constexpr common_comparison_category_t< __detail::__synth3way_t< _T1, _U1 >, __detail::__synth3way_t< _T2, _U2 > > operator<=> ( const pair< _T1, _T2 > & __x, const pair< _U1, _U2 > & __y ) | related |
---|
Defines a lexicographical order for pairs.
For two pairs of comparable types, P
is ordered before Q
if P.first
is less than Q.first
, or if P.first
and Q.first
are equivalent (neither is less than the other) and P.second
is less than Q.second
.
Definition at line 1029 of file stl_pair.h.
References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
◆ operator<=>()
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 ) | constexpr |
---|
Definition at line 2562 of file tuple.
◆ operator==() [1/2]
template<typename _T1 , typename _T2 , typename _U1 , typename _U2 >
constexpr bool operator== ( const pair< _T1, _T2 > & __x, const pair< _U1, _U2 > & __y ) | related |
---|
◆ operator==() [2/2]
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 ) | constexpr |
---|
Definition at line 2528 of file tuple.
◆ swap() [1/4]
Swaps two values.
Parameters
__a | A thing of arbitrary type. |
---|---|
__b | Another thing of arbitrary type. |
Returns
Nothing.
Definition at line 214 of file move.h.
◆ swap() [2/4]
template<typename _Tp , size_t _Nm>
constexpr enable_if< __is_swappable< _Tp >::value >::type std::swap ( _Tp(&) ___a_[_Nm], _Tp(&) ___b_[_Nm] ) | inlineconstexprnoexcept |
---|
Swap the contents of two arrays.
Definition at line 238 of file move.h.
◆ swap() [3/4]
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 ) | related |
---|
Swap overload for pairs. Calls std::pair::swap().
Note
This std::swap overload is not declared in C++03 mode, which has performance implications, e.g. see https://gcc.gnu.org/PR38466
Definition at line 1103 of file stl_pair.h.
◆ swap() [4/4]
template<typename... _Elements>
constexpr enable_if< __and_< __is_swappable< _Elements >... >::value >::type std::swap ( tuple< _Elements... > & __x, tuple< _Elements... > & __y ) | inlineconstexprdeletenoexcept |
---|
Exchange the values of two tuples.
Exchange the values of two const tuples (if const elements can be swapped)
Definition at line 2829 of file tuple.
◆ tie()
template<typename... _Elements>
constexpr tuple< _Elements &... > std::tie ( _Elements &... __args) | constexprnoexcept |
---|
◆ tuple_cat()
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 | constexpr |
---|
Create a tuple
containing all elements from multiple tuple-like objects.
Definition at line 2801 of file tuple.
◆ piecewise_construct
Tag for piecewise construction of std::pair objects.
Definition at line 82 of file stl_pair.h.
Referenced by std::map< _Key, _Tp, _Compare, _Alloc >::insert_or_assign(), std::map< _Key, _Tp, _Compare, _Alloc >::insert_or_assign(), std::map< _Key, _Tp, _Compare, _Alloc >::operator, std::map< _Key, _Tp, _Compare, _Alloc >::try_emplace(), and std::map< _Key, _Tp, _Compare, _Alloc >::try_emplace().
◆ tuple_size_v< const tuple< _Types... > >
template<typename... _Types>
constexpr size_t std::tuple_size_v< const tuple< _Types... > > | inlineconstexpr |
---|
Definition at line 2409 of file tuple.
◆ tuple_size_v< tuple< _Types... > >
template<typename... _Types>
constexpr size_t std::tuple_size_v< tuple< _Types... > > | inlineconstexpr |
---|