Lines Matching refs:template

23 template <class T, class Alloc> struct uses_allocator;
25 template <class Ptr>
32 template <class U> using rebind = <details>;
37 template <class T>
44 template <class U> using rebind = U*;
49 template <class Alloc>
79 template <class T> using rebind_alloc = Alloc::rebind<U>::other | Alloc<T, Args...>;
80 template <class T> using rebind_traits = allocator_traits<rebind_alloc<T>>;
87 template <class T, class... Args>
90 template <class T>
99 template <>
107 template <class _Up> struct rebind {typedef allocator<_Up> other;};
110 template <class T>
122 template <class U> struct rebind {typedef allocator<U> other;};
126 template <class U> allocator(const allocator<U>&) noexcept;
133 template<class U, class... Args>
135 template <class U>
139 template <class T, class U>
142 template <class T, class U>
145 template <class OutputIterator, class T>
161 template <class T> pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n) noexcept;
162 template <class T> void return_temporary_buffer(T* p) noexcept;
164 template <class T> T* addressof(T& r) noexcept;
166 template <class InputIterator, class ForwardIterator>
170 template <class InputIterator, class Size, class ForwardIterator>
174 template <class ForwardIterator, class T>
177 template <class ForwardIterator, class Size, class T>
181 template <class Y> struct auto_ptr_ref {};
183 template<class X>
191 template<class Y> auto_ptr(auto_ptr<Y>&) throw();
193 template<class Y> auto_ptr& operator=(auto_ptr<Y>&) throw();
204 template<class Y> operator auto_ptr_ref<Y>() throw();
205 template<class Y> operator auto_ptr<Y>() throw();
208 template <class T>
212 template <class U> default_delete(const default_delete<U>&) noexcept;
217 template <class T>
222 template <class U> void operator()(U*) const = delete;
225 template <class T, class D = default_delete<T>>
240 template <class U, class E>
242 template <class U>
250 template <class U, class E> unique_ptr& operator=(unique_ptr<U, E>&& u) noexcept;
267 template <class T, class D>
301 template <class U> void reset(U) = delete;
305 template <class T, class D>
308 template <class T1, class D1, class T2, class D2>
310 template <class T1, class D1, class T2, class D2>
312 template <class T1, class D1, class T2, class D2>
314 template <class T1, class D1, class T2, class D2>
316 template <class T1, class D1, class T2, class D2>
318 template <class T1, class D1, class T2, class D2>
321 template <class T, class D>
323 template <class T, class D>
325 template <class T, class D>
327 template <class T, class D>
330 template <class T, class D>
332 template <class T, class D>
334 template <class T, class D>
336 template <class T, class D>
338 template <class T, class D>
340 template <class T, class D>
342 template <class T, class D>
344 template <class T, class D>
353 template<class T, class... Args> unique_ptr<T> make_unique(Args&&... args); // C++14
354 template<class T> unique_ptr<T> make_unique(size_t n); // C++14
355 template<class T, class... Args> unspecified make_unique(Args&&...) = delete; // C++14, T == U[N]
357 template<class T>
365 template<class Y> explicit shared_ptr(Y* p);
366 template<class Y, class D> shared_ptr(Y* p, D d);
367 template<class Y, class D, class A> shared_ptr(Y* p, D d, A a);
368 template <class D> shared_ptr(nullptr_t p, D d);
369 template <class D, class A> shared_ptr(nullptr_t p, D d, A a);
370 template<class Y> shared_ptr(const shared_ptr<Y>& r, T *p) noexcept;
372 template<class Y> shared_ptr(const shared_ptr<Y>& r) noexcept;
374 template<class Y> shared_ptr(shared_ptr<Y>&& r) noexcept;
375 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
376 template<class Y> shared_ptr(auto_ptr<Y>&& r);
377 template <class Y, class D> shared_ptr(unique_ptr<Y, D>&& r);
385 template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
387 template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r);
388 template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r);
389 template <class Y, class D> shared_ptr& operator=(unique_ptr<Y, D>&& r);
394 template<class Y> void reset(Y* p);
395 template<class Y, class D> void reset(Y* p, D d);
396 template<class Y, class D, class A> void reset(Y* p, D d, A a);
405 template<class U> bool owner_before(shared_ptr<U> const& b) const;
406 template<class U> bool owner_before(weak_ptr<U> const& b) const;
410 template<class T, class U>
412 template<class T, class U>
414 template<class T, class U>
416 template<class T, class U>
418 template<class T, class U>
420 template<class T, class U>
423 template <class T>
425 template <class T>
427 template <class T>
429 template <class T>
431 template <class T>
433 template <class T>
435 template <class T>
437 template <class T>
439 template <class T>
441 template <class T>
443 template <class T>
445 template <class T>
449 template<class T> void swap(shared_ptr<T>& a, shared_ptr<T>& b) noexcept;
452 template<class T, class U>
454 template<class T, class U>
456 template<class T, class U>
460 template<class E, class T, class Y>
464 template<class D, class T> D* get_deleter(shared_ptr<T> const& p) noexcept;
466 template<class T, class... Args>
468 template<class T, class A, class... Args>
471 template<class T>
479 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
481 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
483 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
490 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
491 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
493 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
503 template<class U> bool owner_before(shared_ptr<U> const& b) const;
504 template<class U> bool owner_before(weak_ptr<U> const& b) const;
508 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
511 template<class T> struct owner_less;
513 template<class T>
523 template<class T>
533 template<class T>
546 template<class T>
548 template<class T>
550 template<class T>
552 template<class T>
554 template<class T>
556 template<class T>
558 template<class T>
561 template<class T>
564 template<class T>
567 template<class T>
572 template<class T>
578 template <class T> struct hash;
579 template <class T, class D> struct hash<unique_ptr<T, D> >;
580 template <class T> struct hash<shared_ptr<T> >;
585 template <class T> T *undeclare_reachable(T *p);
627 template <class _Tp> class allocator;
629 template <>
637 template <class _Up> struct rebind {typedef allocator<_Up> other;};
640 template <>
648 template <class _Up> struct rebind {typedef allocator<_Up> other;};
653 template <class _Tp>
658 template <class _Up> static __two __test(...);
659 template <class _Up> static char __test(typename _Up::element_type* = 0);
664 template <class _Ptr, bool = __has_element_type<_Ptr>::value>
667 template <class _Ptr>
675 template <template <class, class...> class _Sp, class _Tp, class ..._Args>
681 template <template <class, class...> class _Sp, class _Tp, class ..._Args>
689 template <template <class> class _Sp, class _Tp>
695 template <template <class> class _Sp, class _Tp>
701 template <template <class, class> class _Sp, class _Tp, class _A0>
707 template <template <class, class> class _Sp, class _Tp, class _A0>
713 template <template <class, class, class> class _Sp, class _Tp, class _A0, class _A1>
719 template <template <class, class, class> class _Sp, class _Tp, class _A0, class _A1>
725 template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
732 template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
741 template <class _Tp>
746 template <class _Up> static __two __test(...);
747 template <class _Up> static char __test(typename _Up::difference_type* = 0);
752 template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
758 template <class _Ptr>
764 template <class _Tp, class _Up>
769 template <class _Xp> static __two __test(...);
770 template <class _Xp> static char __test(typename _Xp::template rebind<_Up>* = 0);
775 template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
779 typedef typename _Tp::template rebind<_Up> type;
781 typedef typename _Tp::template rebind<_Up>::other type;
787 template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up>
791 typedef typename _Sp<_Tp, _Args...>::template rebind<_Up> type;
793 typedef typename _Sp<_Tp, _Args...>::template rebind<_Up>::other type;
797 template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up>
805 template <template <class> class _Sp, class _Tp, class _Up>
809 typedef typename _Sp<_Tp>::template rebind<_Up> type;
811 typedef typename _Sp<_Tp>::template rebind<_Up>::other type;
815 template <template <class> class _Sp, class _Tp, class _Up>
821 template <template <class, class> class _Sp, class _Tp, class _A0, class _Up>
825 typedef typename _Sp<_Tp, _A0>::template rebind<_Up> type;
827 typedef typename _Sp<_Tp, _A0>::template rebind<_Up>::other type;
831 template <template <class, class> class _Sp, class _Tp, class _A0, class _Up>
837 template <template <class, class, class> class _Sp, class _Tp, class _A0,
842 typedef typename _Sp<_Tp, _A0, _A1>::template rebind<_Up> type;
844 typedef typename _Sp<_Tp, _A0, _A1>::template rebind<_Up>::other type;
848 template <template <class, class, class> class _Sp, class _Tp, class _A0,
855 template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
860 typedef typename _Sp<_Tp, _A0, _A1, _A2>::template rebind<_Up> type;
862 typedef typename _Sp<_Tp, _A0, _A1, _A2>::template rebind<_Up>::other type;
866 template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
875 template <class _Ptr>
883 template <class _Up> using rebind = typename __pointer_traits_rebind<pointer, _Up>::type;
885 template <class _Up> struct rebind
898 template <class _Tp>
906 template <class _Up> using rebind = _Up*;
908 template <class _Up> struct rebind {typedef _Up* other;};
924 template <class _Up> static __two __test(...);
925 template <class _Up> static char __test(typename _Up::pointer* = 0);
928 template <class _Tp>
937 template <class _Tp, class _Dp, bool = __has_pointer_type<_Dp>::value>
943 template <class _Tp, class _Dp>
951 template <class _Tp, class _Dp>
957 template <class _Tp>
962 template <class _Up> static __two __test(...);
963 template <class _Up> static char __test(typename _Up::const_pointer* = 0);
968 template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value>
974 template <class _Tp, class _Ptr, class _Alloc>
978 typedef typename pointer_traits<_Ptr>::template rebind<const _Tp> type;
980 typedef typename pointer_traits<_Ptr>::template rebind<const _Tp>::other type;
984 template <class _Tp>
989 template <class _Up> static __two __test(...);
990 template <class _Up> static char __test(typename _Up::void_pointer* = 0);
995 template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value>
1001 template <class _Ptr, class _Alloc>
1005 typedef typename pointer_traits<_Ptr>::template rebind<void> type;
1007 typedef typename pointer_traits<_Ptr>::template rebind<void>::other type;
1011 template <class _Tp>
1016 template <class _Up> static __two __test(...);
1017 template <class _Up> static char __test(typename _Up::const_void_pointer* = 0);
1022 template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value>
1028 template <class _Ptr, class _Alloc>
1032 typedef typename pointer_traits<_Ptr>::template rebind<const void> type;
1034 typedef typename pointer_traits<_Ptr>::template rebind<const void>::other type;
1038 template <class _Tp>
1046 template <class _Pointer>
1054 template <class _Tp>
1059 template <class _Up> static __two __test(...);
1060 template <class _Up> static char __test(typename _Up::size_type* = 0);
1065 template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value>
1071 template <class _Alloc, class _DiffType>
1077 template <class _Tp>
1082 template <class _Up> static __two __test(...);
1083template <class _Up> static char __test(typename _Up::propagate_on_container_copy_assignment* = 0);
1088 template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value>
1094 template <class _Alloc>
1100 template <class _Tp>
1105 template <class _Up> static __two __test(...);
1106template <class _Up> static char __test(typename _Up::propagate_on_container_move_assignment* = 0);
1111 template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value>
1117 template <class _Alloc>
1123 template <class _Tp>
1128 template <class _Up> static __two __test(...);
1129 template <class _Up> static char __test(typename _Up::propagate_on_container_swap* = 0);
1134 template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value>
1140 template <class _Alloc>
1146 template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
1151 template <class _Xp> static __two __test(...);
1152 template <class _Xp> static char __test(typename _Xp::template rebind<_Up>::other* = 0);
1157 template <class _Tp, class _Up>
1163 template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value>
1166 typedef typename _Tp::template rebind<_Up>::other type;
1171 template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
1174 typedef typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other type;
1177 template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
1185 template <template <class> class _Alloc, class _Tp, class _Up>
1188 typedef typename _Alloc<_Tp>::template rebind<_Up>::other type;
1191 template <template <class> class _Alloc, class _Tp, class _Up>
1197 template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
1200 typedef typename _Alloc<_Tp, _A0>::template rebind<_Up>::other type;
1203 template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
1209 template <template <class, class, class> class _Alloc, class _Tp, class _A0,
1213 typedef typename _Alloc<_Tp, _A0, _A1>::template rebind<_Up>::other type;
1216 template <template <class, class, class> class _Alloc, class _Tp, class _A0,
1223 template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
1227 typedef typename _Alloc<_Tp, _A0, _A1, _A2>::template rebind<_Up>::other type;
1230 template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
1241 template <class _Alloc, class _SizeType, class _ConstVoidPtr>
1246 template <class _Alloc, class _SizeType, class _ConstVoidPtr>
1251 template <class _Alloc, class _SizeType, class _ConstVoidPtr>
1264 template <class _Alloc, class _SizeType, class _ConstVoidPtr>
1274 template <class _Alloc, class _Tp, class ..._Args>
1280 template <class _Alloc, class _Pointer, class ..._Args>
1284 template <class _Alloc, class _Pointer, class ..._Args>
1295 template <class _Alloc, class _Pointer>
1300 template <class _Alloc, class _Pointer>
1305 template <class _Alloc, class _Pointer>
1315 template <class _Alloc>
1320 template <class _Alloc>
1325 template <class _Alloc>
1334 template <class _Alloc>
1339 template <class _Alloc>
1344 template <class _Alloc>
1357 template <class _Alloc, class _Pointer, class ..._Args>
1365 template <class _Alloc, class _Pointer, class _Args>
1373 template <class _Alloc, class _Pointer>
1379 template <class _Alloc>
1385 template <class _Alloc>
1393 template <class _Alloc, class _Ptr, bool = __has_difference_type<_Alloc>::value>
1399 template <class _Alloc, class _Ptr>
1405 template <class _Alloc>
1427 template <class _Tp> using rebind_alloc =
1429 template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
1431 template <class _Tp> struct rebind_alloc
1433 template <class _Tp> struct rebind_traits
1450 template <class _Tp, class... _Args>
1456 template <class _Tp>
1462 template <class _Tp, class _A0>
1468 template <class _Tp, class _A0, class _A1>
1475 template <class _Tp, class _A0, class _A1, class _A2>
1484 template <class _Tp>
1500 template <class _Ptr>
1510 template <class _Tp>
1527 template <class _Ptr>
1540 template <class _Tp>
1569 template <class _Tp, class... _Args>
1573 template <class _Tp, class... _Args>
1581 template <class _Tp>
1585 template <class _Tp>
1611 template <class _Tp>
1625 template <class _Up> struct rebind {typedef allocator<_Up> other;};
1628 template <class _Up> _LIBCPP_INLINE_VISIBILITY allocator(const allocator<_Up>&) _NOEXCEPT {}
1640 template <class _Up, class... _Args>
1656 template <class _A0>
1663 template <class _A0>
1671 template <class _A0, class _A1>
1678 template <class _A0, class _A1>
1685 template <class _A0, class _A1>
1692 template <class _A0, class _A1>
1703 template <class _Tp>
1717 template <class _Up> struct rebind {typedef allocator<_Up> other;};
1720 template <class _Up> _LIBCPP_INLINE_VISIBILITY allocator(const allocator<_Up>&) _NOEXCEPT {}
1730 template <class _Up, class... _Args>
1746 template <class _A0>
1753 template <class _A0>
1761 template <class _A0, class _A1>
1768 template <class _A0, class _A1>
1775 template <class _A0, class _A1>
1782 template <class _A0, class _A1>
1793 template <class _Tp, class _Up>
1797 template <class _Tp, class _Up>
1801 template <class _OutputIterator, class _Tp>
1821 template <class _Tp>
1844 template <class _Tp>
1848 template <class _Tp>
1854 template<class _Tp>
1864 template<class _Up> _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& __p) throw()
1868 template<class _Up> _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr<_Up>& __p) throw()
1892 template<class _Up> _LIBCPP_INLINE_VISIBILITY operator auto_ptr_ref<_Up>() throw()
1894 template<class _Up> _LIBCPP_INLINE_VISIBILITY operator auto_ptr<_Up>() throw()
1898 template <>
1905 template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
1919 template <class _T1, class _T2, bool IsSame>
1922 template <class _T1, class _T2, bool IsSame>
1925 template <class _T1, class _T2, bool IsSame>
1928 template <class _T1, class _T2>
1931 template <class _T1, class _T2>
1934 template <class _T1, class _T2, unsigned = __libcpp_compressed_pair_switch<_T1, _T2>::value>
1937 template <class _T1, class _T2>
2001 template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
2030 template <class _T1, class _T2>
2092 template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
2120 template <class _T1, class _T2>
2184 template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
2213 template <class _T1, class _T2>
2274 template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
2300 template <class _T1, class _T2>
2359 template <class... _Args1, class... _Args2>
2382 template <class _T1, class _T2>
2392 template <class _Ptr1, class _Ptr2,
2400 template <class _Ptr1, class _Ptr2>
2404 template <class _Ptr1, class _Ptr2, bool = is_pointer<_Ptr1>::value ||
2410 template <class _Ptr1, class _Ptr2>
2416 template <class _Tp>
2424 template <class _Up>
2435 template <class _Tp>
2444 template <class _Up>
2447 template <class _Up>
2458 template <class _Tp, class _Dp = default_delete<_Tp> >
2470 template <class _Up, class _Ep>
2473 template <class _Up, class _Ep>
2517 template <class _Up, class _Ep>
2533 template <class _Up>
2551 template <class _Up, class _Ep>
2576 template <class _Up, class _Ep>
2587 template <class _Up>
2637 template <class _Tp, class _Dp>
2649 template <class _Up>
2652 template <class _Up>
2674 template <class _Pp>
2683 template <class _Pp>
2699 template <class _Pp>
2726 template <class _Up, class _Ep>
2744 template <class _Up, class _Ep>
2817 template <class _Pp>
2855 template <class _Up>
2857 template <class _Up>
2871 template <class _Tp, class _Dp>
2876 template <class _T1, class _D1, class _T2, class _D2>
2881 template <class _T1, class _D1, class _T2, class _D2>
2886 template <class _T1, class _D1, class _T2, class _D2>
2897 template <class _T1, class _D1, class _T2, class _D2>
2902 template <class _T1, class _D1, class _T2, class _D2>
2907 template <class _T1, class _D1, class _T2, class _D2>
2912 template <class _T1, class _D1>
2920 template <class _T1, class _D1>
2928 template <class _T1, class _D1>
2936 template <class _T1, class _D1>
2944 template <class _T1, class _D1>
2953 template <class _T1, class _D1>
2962 template <class _T1, class _D1>
2970 template <class _T1, class _D1>
2978 template <class _T1, class _D1>
2986 template <class _T1, class _D1>
2994 template <class _T1, class _D1>
3002 template <class _T1, class _D1>
3012 template <class _Tp, class _Dp>
3024 template<class _Tp>
3030 template<class _Tp>
3036 template<class _Tp, size_t _Np>
3042 template<class _Tp, class... _Args>
3050 template<class _Tp>
3059 template<class _Tp, class... _Args>
3065 template <class _Tp> struct hash;
3067 template <class _Size>
3080 template <class _Size, size_t = sizeof(_Size)*__CHAR_BIT__>
3083 template <class _Size>
3090 template <class _Size>
3123 template <class _Size>
3240 template <class _Size>
3286 template <class _Tp, size_t = sizeof(_Tp) / sizeof(size_t)>
3289 template <class _Tp>
3307 template <class _Tp>
3324 template <class _Tp>
3345 template <class _Tp>
3367 template <class _Tp>
3390 template<class _Tp>
3407 template <class _Tp, class _Dp>
3425 template <class _Tp>
3429 template <class _Tp>
3446 template <class _Tp>
3450 template <class _Tp>
3454 template <class _Tp>
3459 template <class _Alloc>
3478 template <class _InputIterator, class _ForwardIterator>
3502 template <class _InputIterator, class _Size, class _ForwardIterator>
3526 template <class _ForwardIterator, class _Tp>
3549 template <class _ForwardIterator, class _Size, class _Tp>
3581 template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
3638 template <class _Tp, class _Dp, class _Alloc>
3659 template <class _Tp, class _Dp, class _Alloc>
3668 template <class _Tp, class _Dp, class _Alloc>
3676 template <class _Tp, class _Dp, class _Alloc>
3680 typename _Alloc::template rebind<__shared_ptr_pointer>::other __a(__data_.second());
3685 template <class _Tp, class _Alloc>
3697 template <class ..._Args>
3709 template <class _A0>
3714 template <class _A0, class _A1>
3719 template <class _A0, class _A1, class _A2>
3734 template <class _Tp, class _Alloc>
3741 template <class _Tp, class _Alloc>
3745 typename _Alloc::template rebind<__shared_ptr_emplace>::other __a(__data_.first());
3750 template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY enable_shared_from_this;
3752 template<class _Tp>
3765 template<class _Yp>
3768 template<class _Yp, class _Dp>
3771 template<class _Yp, class _Dp, class _Alloc>
3774 template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d);
3775 template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a);
3776 template<class _Yp> shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT;
3778 template<class _Yp>
3784 template<class _Yp> shared_ptr(shared_ptr<_Yp>&& __r,
3788 template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
3791 template<class _Yp>
3795 template<class _Yp>
3800 template <class _Yp, class _Dp>
3809 template <class _Yp, class _Dp>
3819 template <class _Yp, class _Dp>
3828 template <class _Yp, class _Dp>
3842 template<class _Yp>
3851 template<class _Yp>
3858 template<class _Yp>
3867 template<class _Yp>
3876 template <class _Yp, class _Dp>
3891 template<class _Yp>
3898 template<class _Yp, class _Dp>
3905 template<class _Yp, class _Dp, class _Alloc>
3926 template <class _Up>
3930 template <class _Up>
3940 template <class _Dp>
3948 template<class ..._Args>
3953 template<class _Alloc, class ..._Args>
3962 template<class _A0>
3965 template<class _A0, class _A1>
3968 template<class _A0, class _A1, class _A2>
3971 template<class _Alloc>
3975 template<class _Alloc, class _A0>
3979 template<class _Alloc, class _A0, class _A1>
3983 template<class _Alloc, class _A0, class _A1, class _A2>
3991 template <class _Yp>
4003 template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr;
4004 template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
4007 template<class _Tp>
4016 template<class _Tp>
4025 template<class _Tp>
4026 template<class _Yp>
4038 template<class _Tp>
4039 template<class _Yp, class _Dp>
4061 template<class _Tp>
4062 template<class _Dp>
4082 template<class _Tp>
4083 template<class _Yp, class _Dp, class _Alloc>
4093 typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
4110 template<class _Tp>
4111 template<class _Dp, class _Alloc>
4120 typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
4136 template<class _Tp>
4137 template<class _Yp>
4147 template<class _Tp>
4157 template<class _Tp>
4158 template<class _Yp>
4172 template<class _Tp>
4182 template<class _Tp>
4183 template<class _Yp>
4197 template<class _Tp>
4198 template<class _Yp>
4213 template<class _Tp>
4214 template <class _Yp, class _Dp>
4235 template<class _Tp>
4236 template <class _Yp, class _Dp>
4261 template<class _Tp>
4262 template<class ..._Args>
4279 template<class _Tp>
4280 template<class _Alloc, class ..._Args>
4285 typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
4299 template<class _Tp>
4316 template<class _Tp>
4317 template<class _A0>
4334 template<class _Tp>
4335 template<class _A0, class _A1>
4352 template<class _Tp>
4353 template<class _A0, class _A1, class _A2>
4370 template<class _Tp>
4371 template<class _Alloc>
4376 typedef typename _Alloc::template rebind<_CntrlBlk>::other _Alloc2;
4388 template<class _Tp>
4389 template<class _Alloc, class _A0>
4394 typedef typename _Alloc::template rebind<_CntrlBlk>::other _Alloc2;
4406 template<class _Tp>
4407 template<class _Alloc, class _A0, class _A1>
4412 typedef typename _Alloc::template rebind<_CntrlBlk>::other _Alloc2;
4424 template<class _Tp>
4425 template<class _Alloc, class _A0, class _A1, class _A2>
4430 typedef typename _Alloc::template rebind<_CntrlBlk>::other _Alloc2;
4444 template<class _Tp>
4451 template<class _Tp>
4460 template<class _Tp>
4461 template<class _Yp>
4476 template<class _Tp>
4485 template<class _Tp>
4486 template<class _Yp>
4499 template<class _Tp>
4500 template<class _Yp>
4514 template<class _Tp>
4515 template <class _Yp, class _Dp>
4531 template<class _Tp>
4532 template<class _Yp>
4546 template<class _Tp>
4547 template <class _Yp, class _Dp>
4563 template<class _Tp>
4572 template<class _Tp>
4580 template<class _Tp>
4581 template<class _Yp>
4593 template<class _Tp>
4594 template<class _Yp, class _Dp>
4606 template<class _Tp>
4607 template<class _Yp, class _Dp, class _Alloc>
4621 template<class _Tp, class ..._Args>
4633 template<class _Tp, class _Alloc, class ..._Args>
4647 template<class _Tp>
4655 template<class _Tp, class _A0>
4663 template<class _Tp, class _A0, class _A1>
4671 template<class _Tp, class _A0, class _A1, class _A2>
4679 template<class _Tp, class _Alloc>
4687 template<class _Tp, class _Alloc, class _A0>
4695 template<class _Tp, class _Alloc, class _A0, class _A1>
4703 template<class _Tp, class _Alloc, class _A0, class _A1, class _A2>
4713 template<class _Tp, class _Up>
4721 template<class _Tp, class _Up>
4729 template<class _Tp, class _Up>
4738 template<class _Tp, class _Up>
4746 template<class _Tp, class _Up>
4754 template<class _Tp, class _Up>
4762 template<class _Tp>
4770 template<class _Tp>
4778 template<class _Tp>
4786 template<class _Tp>
4794 template<class _Tp>
4802 template<class _Tp>
4810 template<class _Tp>
4818 template<class _Tp>
4826 template<class _Tp>
4834 template<class _Tp>
4842 template<class _Tp>
4850 template<class _Tp>
4858 template<class _Tp>
4866 template<class _Tp, class _Up>
4878 template<class _Tp, class _Up>
4891 template<class _Tp, class _Up>
4905 template<class _Dp, class _Tp>
4910 return __p.template __get_deleter<_Dp>();
4915 template<class _Tp>
4926 template<class _Yp> weak_ptr(shared_ptr<_Yp> const& __r,
4930 template<class _Yp> weak_ptr(weak_ptr<_Yp> const& __r,
4936 template<class _Yp> weak_ptr(weak_ptr<_Yp>&& __r,
4943 template<class _Yp>
4954 template<class _Yp>
4964 template<class _Yp>
4982 template<class _Up>
4986 template<class _Up>
4991 template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
4992 template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr;
4995 template<class _Tp>
5004 template<class _Tp>
5014 template<class _Tp>
5015 template<class _Yp>
5027 template<class _Tp>
5028 template<class _Yp>
5042 template<class _Tp>
5052 template<class _Tp>
5053 template<class _Yp>
5067 template<class _Tp>
5074 template<class _Tp>
5083 template<class _Tp>
5084 template<class _Yp>
5099 template<class _Tp>
5108 template<class _Tp>
5109 template<class _Yp>
5124 template<class _Tp>
5125 template<class _Yp>
5138 template<class _Tp>
5147 template<class _Tp>
5155 template<class _Tp>
5163 template<class _Tp>
5164 template<class _Yp>
5178 template<class _Tp>
5189 template <class _Tp> struct owner_less;
5191 template <class _Tp>
5207 template <class _Tp>
5223 template<class _Tp>
5245 template <class _Up> friend class shared_ptr;
5248 template <class _Tp>
5260 template<class _CharT, class _Traits, class _Yp>
5284 template <class _Tp>
5292 template <class _Tp>
5303 template <class _Tp>
5311 template <class _Tp>
5321 template <class _Tp>
5329 template <class _Tp>
5340 template <class _Tp>
5348 template <class _Tp>
5365 template <class _Tp>
5373 template <class _Tp>
5382 template <class _Tp>
5417 template <class _Tp>