libstdc++
Utilities
Collaboration diagram for Utilities:

Modules

 Function Objects
 Memory
 Metaprogramming and type traits
 Rational Arithmetic
 Time

Functions

template<typename _Tp >
_Tp * std::__addressof (_Tp &__r) _GLIBCXX_NOEXCEPT
template<typename _Tp >
_Tp * std::addressof (_Tp &__r) noexcept
template<typename _Tp >
add_rvalue_reference< _Tp >::type std::declval () 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<typename _Tp >
constexpr
std::remove_reference< _Tp >
::type && 
std::move (_Tp &&__t) noexcept
template<typename _Tp >
conditional
< __move_if_noexcept_cond< _Tp >
::value, const _Tp &, _Tp && >
::type 
std::move_if_noexcept (_Tp &__x) noexcept
template<typename _Tp >
void std::swap (_Tp &__a, _Tp &__b) noexcept(__and_< is_nothrow_move_constructible< _Tp >
template<typename _Tp , size_t _Nm>
void std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(noexcept(swap(*__a

Variables

 std::__a
void * std::__b
void
is_nothrow_move_assignable
< _Tp >::value _Tp 
std::__tmp

Detailed Description

Components deemed generally useful. Includes pair, tuple, forward/move helpers, ratio, function object, metaprogramming and type traits, time, date, and memory functions.


Function Documentation

template<typename _Tp >
_Tp* std::__addressof ( _Tp &  __r)
inline
template<typename _Tp >
_Tp* std::addressof ( _Tp &  __r)
inline

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

References std::__addressof().

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

template<typename _Tp >
add_rvalue_reference< _Tp >::type std::declval ( )
inline

Utility to simplify expressions used in unevaluated operands.

Definition at line 1774 of file type_traits.

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

Forward an lvalue.

Returns:
The parameter cast to the specified type.

This function is used to implement "perfect forwarding".

Definition at line 77 of file move.h.

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

Forward an rvalue.

Returns:
The parameter cast to the specified type.

This function is used to implement "perfect forwarding".

Definition at line 88 of file move.h.

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

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

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

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

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

Swaps two values.

Parameters:
__aA thing of arbitrary type.
__bAnother thing of arbitrary type.
Returns:
Nothing.
template<typename _Tp , size_t _Nm>
void std::swap ( _Tp(&)  __a[_Nm],
_Tp(&)  __b[_Nm] 
)
inline

Swap the contents of two arrays.