libstdc++
Utilities
Collaboration diagram for Utilities:

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 >
_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)
inlinenoexcept

Returns the actual address of the object or function referenced by r, even in the presence of an overloaded operator&.

Parameters
__rReference to an object or function.
Returns
The actual address.

Definition at line 135 of file move.h.

References std::__addressof().

Referenced by __gnu_cxx::operator==(), and 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 
)
template<typename _Tp >
constexpr std::remove_reference<_Tp>::type&& std::move ( _Tp &&  __t)
noexcept

Convert a value to an rvalue.

Parameters
__tA 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::vector< _State >::_M_allocate_and_copy(), std::_Deque_iterator< _Tp, _Tp &, _Tp * >::_M_set_node(), std::basic_regex< _Ch_type, _Rx_traits >::assign(), std::auto_ptr< _Tp >::auto_ptr(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare(), std::unordered_set< _Value, _Hash, _Pred, _Alloc >::insert(), std::multiset< _Key, _Compare, _Alloc >::insert(), std::set< _StateIdT >::insert(), std::unordered_multiset< _Value, _Hash, _Pred, _Alloc >::insert(), std::vector< _State >::insert(), std::list< __inp, __rebind_inp >::insert(), std::deque< _Tp, _Alloc >::insert(), std::forward_list< _Tp, _Alloc >::insert_after(), std::inserter(), std::max(), std::forward_list< _Tp, _Alloc >::merge(), std::move(), std::move_if_noexcept(), std::operator+(), std::back_insert_iterator< _Container >::operator=(), std::vector< _State >::operator=(), std::basic_regex< _Ch_type, _Rx_traits >::operator=(), std::front_insert_iterator< _Container >::operator=(), std::forward_list< _Tp, _Alloc >::operator=(), std::insert_iterator< _Container >::operator=(), std::match_results< _FwdIterT, _Alloc >::operator=(), std::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator[](), std::priority_queue< _Tp, _Sequence, _Compare >::priority_queue(), std::stack< _StateSeq, std::vector< _StateSeq > >::push(), std::queue< _Tp, _Sequence >::push(), std::priority_queue< _Tp, _Sequence, _Compare >::push(), std::vector< _State >::push_back(), std::list< __inp, __rebind_inp >::push_back(), std::deque< _Tp, _Alloc >::push_back(), std::forward_list< _Tp, _Alloc >::push_front(), std::list< __inp, __rebind_inp >::push_front(), std::deque< _Tp, _Alloc >::push_front(), std::queue< _Tp, _Sequence >::queue(), std::forward_list< _Tp, _Alloc >::reverse(), std::allocator_traits< _Tp_alloc_type >::select_on_container_copy_construction(), std::shared_ptr< _Automaton >::shared_ptr(), std::list< __inp, __rebind_inp >::splice(), std::forward_list< _Tp, _Alloc >::splice_after(), and std::stack< _StateSeq, std::vector< _StateSeq > >::stack().

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

Conditionally convert a value to an rvalue.

Parameters
__xA 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
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 
)
inlinenoexcept

See std::pair::swap().

Definition at line 254 of file stl_pair.h.

template<typename _Tp >
void std::swap ( _Tp &  __a,
_Tp &  __b 
) const
inlinenoexcept

Swaps two values.

Parameters
__aA thing of arbitrary type.
__bAnother thing of arbitrary type.
Returns
Nothing.

Definition at line 166 of file move.h.

Referenced by __gnu_parallel::_LoserTree< __stable, _Tp, _Compare >::__delete_min_insert(), __gnu_parallel::_LoserTree< false, _Tp, _Compare >::__delete_min_insert(), std::__rotate(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_Safe_iterator(), std::basic_regex< _Ch_type, _Rx_traits >::assign(), __gnu_pbds::cc_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Hash_Fn, Resize_Policy, Store_Hash, _Alloc >::cc_hash_table(), std::dynamic_pointer_cast(), __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table(), std::regex_traits< _Ch_type >::imbue(), std::iter_swap(), __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::list_update(), __gnu_pbds::detail::pat_trie_map< Key, Mapped, Node_And_It_Traits, _Alloc >::node_end(), std::list< __inp, __rebind_inp >::operator=(), std::deque< _Tp, _Alloc >::operator=(), std::pair< _BiIter, _BiIter >::pair(), std::stack< _StateSeq, std::vector< _StateSeq > >::pop(), std::queue< _Tp, _Sequence >::pop(), std::priority_queue< _Tp, _Sequence, _Compare >::pop(), __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue(), std::forward_list< _Tp, _Alloc >::reverse(), std::allocator_traits< _Tp_alloc_type >::select_on_container_copy_construction(), std::shared_ptr< _Automaton >::shared_ptr(), std::swap(), std::basic_regex< _Ch_type, _Rx_traits >::swap(), std::forward_list< _Tp, _Alloc >::swap(), std::deque< _Tp, _Alloc >::swap(), __gnu_pbds::tree< Key, Mapped, Cmp_Fn, Tag, Node_Update, _Alloc >::tree(), and __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::trie().

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

Swap the contents of two arrays.

Definition at line 185 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[]().