Utilities(3)

NAME
Utilities - Utilities

SYNOPSIS

  Modules
Function Objects

  Classes
struct std::pair< _T1, _T2 >
struct std::piecewise_construct_t

  Functions
template<typename _Tp > _Tp * std::__addressof (_Tp &__r) noexcept
template<typename _Tp , typename _Up = _Tp> _Tp std::__exchange (_Tp &__obj, _Up &&__new_val)
template<typename _Tp > _Tp * std::addressof (_Tp &__r) noexcept
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<class _T1 , class _T2 > constexpr pair< typename __decay_and_strip< _T1 >::__type, typename __decay_and_strip< _T2 >::__type > std::make_pair (_T1 &&__x, _T2 &&__y)
template<typename _Tp > constexpr std::remove_reference< _Tp >::type && std::move (_Tp &&__t) noexcept
template<typename _Tp > constexpr conditional< __move_if_noexcept_cond< _Tp >::value, const _Tp &, _Tp && >::type std::move_if_noexcept (_Tp &__x) noexcept
template<class _T1 , class _T2 > constexpr bool std::operator!= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > constexpr bool std::operator< (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > constexpr bool std::operator<= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > constexpr bool std::operator== (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > constexpr bool std::operator> (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > constexpr bool std::operator>= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
template<class _T1 , class _T2 > void std::swap (pair< _T1, _T2 > &__x, pair< _T1, _T2 > &__y) noexcept(noexcept(__x.swap(__y)))
template<typename _Tp > void std::swap (_Tp &__a, _Tp &__b) noexcept(__and_< is_nothrow_move_constructible< _Tp >,is_nothrow_move_assignable< _Tp >>::value)
template<typename _Tp , size_t _Nm> void std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(noexcept(swap(*__a,*__b)))

  Variables
constexpr piecewise_construct_t std::piecewise_construct

Detailed Description

Function Documentation

  template<typename _Tp > _Tp* std::__addressof (_Tp & __r) [inline], [noexcept]

Same as C++11 std::addressof.

Definition at line 47 of file move.h.

Referenced by std::_Destroy(), std::addressof(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator->(), and __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::operator->().

  template<typename _Tp > _Tp* std::addressof (_Tp & __r) [inline], [noexcept]

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 135 of file move.h.

References std::__addressof().

Referenced by std::pointer_traits< _Tp * >::pointer_to().

  template<typename _Tp > constexpr _Tp&& std::forward (typename std::remove_reference< _Tp >::type & __t) [noexcept]

Forward an lvalue.

Returns:
    The parameter cast to the specified type.

This function is used to implement 'perfect forwarding'.

Definition at line 76 of file move.h.

  template<typename _Tp > constexpr _Tp&& std::forward (typename std::remove_reference< _Tp >::type && __t) [noexcept]

Forward an rvalue.

Returns:
    The parameter cast to the specified type.

This function is used to implement 'perfect forwarding'.

Definition at line 87 of file move.h.

  template<class _T1 , class _T2 > constexpr pair<typename __decay_and_strip<_T1>::__type, typename __decay_and_strip<_T2>::__type> std::make_pair (_T1 && __x, _T2 && __y)

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 standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default.

Definition at line 276 of file stl_pair.h.

Referenced by __gnu_parallel::__find_template(), __gnu_debug::__get_distance(), __gnu_parallel::__parallel_merge_advance(), __gnu_parallel::__parallel_sort_qsb(), __gnu_parallel::__qsb_local_sort_with_helping(), __gnu_parallel::__find_if_selector::_M_sequential_algorithm(), __gnu_parallel::__adjacent_find_selector::_M_sequential_algorithm(), __gnu_parallel::__find_first_of_selector< _FIterator >::_M_sequential_algorithm(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_sort_mwms_pu(), and __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::valid_prefix().

  template<typename _Tp > constexpr std::remove_reference<_Tp>::type&& std::move (_Tp && __t) [noexcept]

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 101 of file move.h.

Referenced by std::basic_regex< _Ch_type, _Rx_traits >::assign(), std::atomic_compare_exchange_strong(), std::atomic_compare_exchange_strong_explicit(), std::atomic_compare_exchange_weak(), std::atomic_compare_exchange_weak_explicit(), std::atomic_exchange(), std::atomic_store(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::list< __inp, __rebind_inp >::insert(), std::deque< _StateSeqT >::insert(), std::forward_list< _Tp, _Alloc >::merge(), std::move_if_noexcept(), std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >::operator=(), std::basic_regex< _Ch_type, _Rx_traits >::operator=(), std::forward_list< _Tp, _Alloc >::operator=(), std::deque< _StateSeqT >::operator=(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator[](), and std::list< __inp, __rebind_inp >::splice().

  template<typename _Tp > constexpr conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type std::move_if_noexcept (_Tp & __x) [noexcept]

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 121 of file move.h.

References std::move().

  template<class _T1 , class _T2 > constexpr bool std::operator!= (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

Uses operator== to find the result.

Definition at line 227 of file stl_pair.h.

  template<class _T1 , class _T2 > constexpr bool std::operator< (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html

Definition at line 220 of file stl_pair.h.

References std::pair< _T1, _T2 >::first.

  template<class _T1 , class _T2 > constexpr bool std::operator<= (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

Uses operator< to find the result.

Definition at line 239 of file stl_pair.h.

  template<class _T1 , class _T2 > constexpr bool std::operator== (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

Two pairs of the same type are equal iff their members are equal.

Definition at line 214 of file stl_pair.h.

References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.

  template<class _T1 , class _T2 > constexpr bool std::operator> (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

Uses operator< to find the result.

Definition at line 233 of file stl_pair.h.

  template<class _T1 , class _T2 > constexpr bool std::operator>= (const pair< _T1, _T2 > & __x, const pair< _T1, _T2 > & __y) [inline]

Uses operator< to find the result.

Definition at line 245 of file stl_pair.h.

  template<class _T1 , class _T2 > void std::swap (pair< _T1, _T2 > & __x, pair< _T1, _T2 > & __y) [inline], [noexcept]

See std::pair::swap().

Definition at line 254 of file stl_pair.h.

  template<typename _Tp > void std::swap (_Tp & __a, _Tp & __b) const [inline], [noexcept]

Swaps two values.

Parameters:
    __a A thing of arbitrary type.
    __b Another thing of arbitrary type.

Returns:
    Nothing.

Definition at line 176 of file move.h.

Referenced by __gnu_parallel::_LoserTree< __stable, _Tp, _Compare >::__delete_min_insert(), __gnu_parallel::_LoserTree< false, _Tp, _Compare >::__delete_min_insert(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_Safe_iterator(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::_Safe_local_iterator(), std::regex_traits< _Ch_type >::imbue(), std::basic_regex< _Ch_type, _Rx_traits >::imbue(), std::iter_swap(), std::unique_ptr< bool[]>::reset(), std::unique_ptr< _Tp[], _Dp >::reset(), std::unique_ptr< bool[]>::swap(), std::swap(), std::unique_ptr< _Tp[], _Dp >::swap(), std::basic_regex< _Ch_type, _Rx_traits >::swap(), std::forward_list< _Tp, _Alloc >::swap(), and std::match_results< _Bi_iter >::swap().

  template<typename _Tp , size_t _Nm> void std::swap (_Tp(&) __a[_Nm], _Tp(&) __b[_Nm]) [inline], [noexcept]

Swap the contents of two arrays.

Definition at line 195 of file move.h.

References std::swap().

Variable Documentation

  constexpr piecewise_construct_t std::piecewise_construct

piecewise_construct

Definition at line 79 of file stl_pair.h.

Referenced by std::map< _Key, _Tp, _Compare, _Alloc >::operator[]().

Author

Generated automatically by Doxygen for libstdc++ from the source code.