libstdc++
|
Modules | |
Function Objects | |
Memory | |
Metaprogramming | |
Rational Arithmetic | |
Time | |
Classes | |
struct | std::_Tuple_impl< _Idx, _Elements > |
struct | std::_Tuple_impl< _Idx, _Head, _Tail... > |
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< 0, tuple< _Head, _Tail... > > |
struct | std::tuple_element< __i, tuple< _Head, _Tail... > > |
struct | std::tuple_size< tuple< _Elements... > > |
struct | std::type_index |
struct | std::uses_allocator< tuple< _Types... >, _Alloc > |
Macros | |
#define | __cpp_lib_tuples_by_type |
Typedefs | |
template<typename _Tp > | |
using | std::__empty_not_final = typename conditional< __is_final(_Tp), false_type, __is_empty_non_tuple< _Tp >>::type |
Functions | |
template<typename... _Args1, typename... _Args2> | |
std::pair< _T1, _T2 >::pair (piecewise_construct_t, tuple< _Args1... >, tuple< _Args2... >) | |
template<typename _Tp > | |
_Tp * | std::__addressof (_Tp &__r) noexcept |
template<typename _Tp , typename _Up = _Tp> | |
_Tp | std::__exchange (_Tp &__obj, _Up &&__new_val) |
template<std::size_t __i, typename _Head , typename... _Tail> | |
constexpr _Head & | std::__get_helper (_Tuple_impl< __i, _Head, _Tail... > &__t) noexcept |
template<std::size_t __i, typename _Head , typename... _Tail> | |
constexpr const _Head & | std::__get_helper (const _Tuple_impl< __i, _Head, _Tail... > &__t) noexcept |
template<typename _Head , size_t __i, typename... _Tail> | |
constexpr _Head & | std::__get_helper2 (_Tuple_impl< __i, _Head, _Tail... > &__t) noexcept |
template<typename _Head , size_t __i, typename... _Tail> | |
constexpr const _Head & | std::__get_helper2 (const _Tuple_impl< __i, _Head, _Tail... > &__t) 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<typename... _Elements> | |
constexpr tuple< _Elements &&... > | std::forward_as_tuple (_Elements &&...__args) noexcept |
template<std::size_t __i, typename... _Elements> | |
constexpr __tuple_element_t< __i, tuple< _Elements... > > & | std::get (tuple< _Elements... > &__t) noexcept |
template<std::size_t __i, typename... _Elements> | |
constexpr const __tuple_element_t< __i, tuple< _Elements... > > & | std::get (const tuple< _Elements... > &__t) noexcept |
template<std::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... _Types> | |
constexpr const _Tp & | std::get (const tuple< _Types... > &__t) noexcept |
template<typename _T1 , typename _T2 > | |
constexpr pair< typename __decay_and_strip< _T1 >::__type, typename __decay_and_strip< _T2 >::__type > | std::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< __move_if_noexcept_cond< _Tp >::value, const _Tp &, _Tp && >::type | std::move_if_noexcept (_Tp &__x) noexcept |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator!= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator!= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator< (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator< (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator<= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator<= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator== (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator== (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator> (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator> (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _T1 , typename _T2 > | |
constexpr bool | std::operator>= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
template<typename... _TElements, typename... _UElements> | |
constexpr bool | std::operator>= (const tuple< _TElements... > &__t, const tuple< _UElements... > &__u) |
template<typename _Tp > | |
enable_if< __and_< is_move_constructible< _Tp >, is_move_assignable< _Tp > >::value >::type | 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> | |
enable_if< __is_swappable< _Tp >::value >::type | std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp >::value) |
template<typename _T1 , typename _T2 > | |
void | std::swap (pair< _T1, _T2 > &__x, pair< _T1, _T2 > &__y) noexcept(noexcept(__x.swap(__y))) |
template<typename... _Elements> | |
void | 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... _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 | |
const _Swallow_assign | std::ignore |
constexpr piecewise_construct_t | std::piecewise_construct |
Components deemed generally useful. Includes pair, tuple, forward/move helpers, ratio, function object, metaprogramming and type traits, time, date, and memory functions.
|
inlinenoexcept |
Same as C++11 std::addressof.
Definition at line 47 of file move.h.
Referenced by __gnu_debug::__check_dereferenceable(), std::_Destroy(), std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >::_M_allocate_and_copy(), __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object(), std::addressof(), std::vector< _Tp, _Alloc >::emplace(), std::_Temporary_buffer< _ForwardIterator, _Tp >::end(), std::list< _Tp, _Alloc >::merge(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator->(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::operator->(), std::forward_list< _Tp, _Alloc >::operator=(), std::list< _Tp, _Alloc >::operator=(), std::forward_list< _Tp, _Alloc >::remove(), std::list< _Tp, _Alloc >::remove(), std::rethrow_if_nested(), std::list< __inp, __rebind_inp >::splice(), std::uninitialized_copy(), std::uninitialized_fill(), and std::uninitialized_fill_n().
|
inlinenoexcept |
Returns the actual address of the object or function referenced by r, even in the presence of an overloaded operator&.
__r | Reference to an object or function. |
Definition at line 135 of file move.h.
References std::__addressof().
Referenced by __gnu_cxx::operator==(), and std::pointer_traits< _Tp * >::pointer_to().
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
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.
__x | The first object. |
__y | The second object. |
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 493 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_debug::__valid_range_aux(), __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_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::get_child(), std::minmax(), std::minmax_element(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), __gnu_pbds::detail::pat_trie_map< Key, Mapped, Node_And_It_Traits, _Alloc >::node_end(), __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().
|
noexcept |
|
noexcept |
Conditionally convert a value to an rvalue.
__x | A thing of arbitrary type. |
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.
|
inline |
Uses operator==
to find the result.
Definition at line 444 of file stl_pair.h.
|
inline |
http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html
Definition at line 437 of file stl_pair.h.
References std::pair< _T1, _T2 >::first.
|
inline |
Uses operator<
to find the result.
Definition at line 456 of file stl_pair.h.
|
inline |
Two pairs of the same type are equal iff their members are equal.
Definition at line 431 of file stl_pair.h.
References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
|
inline |
Uses operator<
to find the result.
Definition at line 450 of file stl_pair.h.
|
inline |
Uses operator<
to find the result.
Definition at line 462 of file stl_pair.h.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
See std::pair::swap().
Definition at line 471 of file stl_pair.h.
|
noexcept |
tie
Definition at line 1540 of file tuple.
Referenced by std::basic_ios< _CharT, _Traits >::copyfmt().
constexpr auto std::tuple_cat | ( | _Tpls &&... | __tpls | ) | -> typename __tuple_cat_result<_Tpls...>::__type |
constexpr piecewise_construct_t std::piecewise_construct |
piecewise_construct
Definition at line 79 of file stl_pair.h.
Referenced by std::unordered_map< _Key, _Tp, _Hash, _Pred >::emplace_hint(), std::map< _Key, _Tp, _Compare, _Alloc >::emplace_hint(), std::unordered_map< _Key, _Tp, _Hash, _Pred >::insert(), std::map< _Key, _Tp, _Compare, _Alloc >::insert(), and std::map< _Key, _Tp, _Compare, _Alloc >::operator[]().