Lines Matching refs:pair
61 struct pair
69 pair(const pair&) = default;
70 pair(pair&&) = default;
71 constexpr pair();
72 pair(const T1& x, const T2& y); // constexpr in C++14
73 template <class U, class V> pair(U&& x, V&& y); // constexpr in C++14
74 template <class U, class V> pair(const pair<U, V>& p); // constexpr in C++14
75 template <class U, class V> pair(pair<U, V>&& p); // constexpr in C++14
77 pair(piecewise_construct_t, tuple<Args1...> first_args,
80 template <class U, class V> pair& operator=(const pair<U, V>& p);
81 pair& operator=(pair&& p) noexcept(is_nothrow_move_assignable<T1>::value &&
83 template <class U, class V> pair& operator=(pair<U, V>&& p);
85 void swap(pair& p) noexcept(is_nothrow_swappable_v<T1> &&
89 template <class T1, class T2> bool operator==(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
90 template <class T1, class T2> bool operator!=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
91 template <class T1, class T2> bool operator< (const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
92 template <class T1, class T2> bool operator> (const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
93 template <class T1, class T2> bool operator>=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
94 template <class T1, class T2> bool operator<=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr…
96 template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&); // constexpr in C++14
99 swap(pair<T1, T2>& x, pair<T1, T2>& y) noexcept(noexcept(x.swap(y)));
107 template <class T1, class T2> struct tuple_size<pair<T1, T2> >;
108 template <class T1, class T2> struct tuple_element<0, pair<T1, T2> >;
109 template <class T1, class T2> struct tuple_element<1, pair<T1, T2> >;
112 typename tuple_element<I, pair<T1, T2> >::type&
113 get(pair<T1, T2>&) noexcept; // constexpr in C++14
116 const typename tuple_element<I, pair<T1, T2> >::type&
117 get(const pair<T1, T2>&) noexcept; // constexpr in C++14
120 typename tuple_element<I, pair<T1, T2> >::type&&
121 get(pair<T1, T2>&&) noexcept; // constexpr in C++14
124 const typename tuple_element<I, pair<T1, T2> >::type&&
125 get(const pair<T1, T2>&&) noexcept; // constexpr in C++14
128 constexpr T1& get(pair<T1, T2>&) noexcept; // C++14
131 constexpr const T1& get(const pair<T1, T2>&) noexcept; // C++14
134 constexpr T1&& get(pair<T1, T2>&&) noexcept; // C++14
137 constexpr const T1&& get(const pair<T1, T2>&&) noexcept; // C++14
140 constexpr T1& get(pair<T2, T1>&) noexcept; // C++14
143 constexpr const T1& get(const pair<T2, T1>&) noexcept; // C++14
146 constexpr T1&& get(pair<T2, T1>&&) noexcept; // C++14
149 constexpr const T1&& get(const pair<T2, T1>&&) noexcept; // C++14
312 struct _LIBCPP_TEMPLATE_VIS pair
324 pair(pair const&) = default;
325 pair(pair&&) = default;
332 pair() : first(), second() {}
335 pair(_T1 const& __t1, _T2 const& __t2) : first(__t1), second(__t2) {}
339 pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
342 pair& operator=(pair const& __p) {
382 return __tuple_convertible<_Tuple, pair>::value;
387 return __tuple_constructible<_Tuple, pair>::value
388 && !__tuple_convertible<_Tuple, pair>::value;
393 return __tuple_assignable<_Tuple, pair>::value;
400 && !is_same<typename decay<_Tuple>::type, pair>::value,
409 pair() : first(), second() {}
415 explicit pair(_T1 const& __t1, _T2 const& __t2)
422 pair(_T1 const& __t1, _T2 const& __t2)
429 explicit pair(_U1&& __u1, _U2&& __u2)
436 pair(_U1&& __u1, _U2&& __u2)
443 explicit pair(pair<_U1, _U2> const& __p)
450 pair(pair<_U1, _U2> const& __p)
457 explicit pair(pair<_U1, _U2>&&__p)
464 pair(pair<_U1, _U2>&& __p)
471 explicit pair(_Tuple&& __p)
479 pair(_Tuple&& __p)
485 pair(piecewise_construct_t __pc,
487 : pair(__pc, __first_args, __second_args,
492 pair& operator=(typename conditional<
495 pair, __nat>::type const& __p)
505 pair& operator=(typename conditional<
508 pair, __nat>::type&& __p)
521 pair& operator=(_Tuple&& __p) {
530 swap(pair& __p) _NOEXCEPT_(__is_nothrow_swappable<first_type>::value &&
542 pair(piecewise_construct_t,
551 operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
559 operator!=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
567 operator< (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
575 operator> (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
583 operator>=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
591 operator<=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
604 swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
634 pair<typename __make_pair_return<_T1>::type, typename __make_pair_return<_T2>::type>
637 return pair<typename __make_pair_return<_T1>::type, typename __make_pair_return<_T2>::type>
645 pair<_T1,_T2>
648 return pair<_T1, _T2>(__x, __y);
654 class _LIBCPP_TEMPLATE_VIS tuple_size<pair<_T1, _T2> >
658 class _LIBCPP_TEMPLATE_VIS tuple_element<0, pair<_T1, _T2> >
665 class _LIBCPP_TEMPLATE_VIS tuple_element<1, pair<_T1, _T2> >
680 get(pair<_T1, _T2>& __p) _NOEXCEPT {return __p.first;}
686 get(const pair<_T1, _T2>& __p) _NOEXCEPT {return __p.first;}
694 get(pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<_T1>(__p.first);}
700 get(const pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<const _T1>(__p.first);}
712 get(pair<_T1, _T2>& __p) _NOEXCEPT {return __p.second;}
718 get(const pair<_T1, _T2>& __p) _NOEXCEPT {return __p.second;}
726 get(pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<_T2>(__p.second);}
732 get(const pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<const _T2>(__p.second);}
739 typename tuple_element<_Ip, pair<_T1, _T2> >::type&
740 get(pair<_T1, _T2>& __p) _NOEXCEPT
747 const typename tuple_element<_Ip, pair<_T1, _T2> >::type&
748 get(const pair<_T1, _T2>& __p) _NOEXCEPT
757 typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
758 get(pair<_T1, _T2>&& __p) _NOEXCEPT
765 const typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
766 get(const pair<_T1, _T2>&& __p) _NOEXCEPT
776 constexpr _T1 & get(pair<_T1, _T2>& __p) _NOEXCEPT
783 constexpr _T1 const & get(pair<_T1, _T2> const& __p) _NOEXCEPT
790 constexpr _T1 && get(pair<_T1, _T2>&& __p) _NOEXCEPT
797 constexpr _T1 const && get(pair<_T1, _T2> const&& __p) _NOEXCEPT
804 constexpr _T1 & get(pair<_T2, _T1>& __p) _NOEXCEPT
811 constexpr _T1 const & get(pair<_T2, _T1> const& __p) _NOEXCEPT
818 constexpr _T1 && get(pair<_T2, _T1>&& __p) _NOEXCEPT
825 constexpr _T1 const && get(pair<_T2, _T1> const&& __p) _NOEXCEPT
1074 static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
1084 return pair<_Size, _Size>(__a + __z, __b + __c);
1088 static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
1151 pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z);
1152 pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x);