Lines Matching full:class
22 template <class T, class Alloc> struct uses_allocator;
24 template <class Ptr>
31 template <class U> using rebind = <details>;
36 template <class T>
43 template <class U> using rebind = U*;
48 template <class T> constexpr T* to_address(T* p) noexcept; // C++20
49 template <class Ptr> constexpr auto to_address(const Ptr& p) noexcept; // C++20
51 template <class Alloc>
83 template <class T> using rebind_alloc = Alloc::rebind<T>::other | Alloc<T, Args...>;
84 template <class T> using rebind_traits = allocator_traits<rebind_alloc<T>>;
91 template <class T, class... Args>
94 template <class T>
101 template<class Pointer>
107 template<class Allocator>
112 class allocator<void> // removed in C++20
119 template <class _Up> struct rebind {typedef allocator<_Up> other;};
122 template <class T>
123 class allocator
137 …template <class U> struct rebind {typedef allocator<U> other;}; // deprecated in C++17, removed in…
144 template <class U>
153 template<class U, class... Args>
155 template <class U>
159 template <class T, class U>
162 template <class T, class U>
165 template <class OutputIterator, class T>
166 class raw_storage_iterator // deprecated in C++17, removed in C++20
184 template <class T> pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n) noexcept;
185 template <class T> void return_temporary_buffer(T* p) noexcept;
187 template <class T> T* addressof(T& r) noexcept;
188 template <class T> T* addressof(const T&& r) noexcept = delete;
190 template <class InputIterator, class ForwardIterator>
196 template<class InputIterator, class OutputIterator>
211 template <class InputIterator, class Size, class ForwardIterator>
217 template<class InputIterator, class OutputIterator>
227 template <class ForwardIterator, class T>
232 …<nothrow-forward-iterator ForwardIterator, nothrow-sentinel-for<ForwardIterator> Sentinel, class T>
236 template <nothrow-forward-range ForwardRange, class T>
242 template <class ForwardIterator, class Size, class T>
248 template <nothrow-forward-iterator ForwardIterator, class T>
254 template <class T, class ...Args>
258 template<class T, class... Args>
262 template <class T>
270 template <class ForwardIterator>
282 template <class ForwardIterator, class Size>
291 template <class InputIterator, class ForwardIterator>
296 template<class InputIterator, class OutputIterator>
311 template <class InputIterator, class Size, class ForwardIterator>
316 template<class InputIterator, class OutputIterator>
326 template <class ForwardIterator>
341 template <class ForwardIterator, class Size>
352 template <class ForwardIterator>
367 template <class ForwardIterator, class Size>
378 template <class Y> struct auto_ptr_ref {}; // deprecated in C++11, removed in C++17
380 template<class X>
381 class auto_ptr // deprecated in C++11, removed in C++17
388 template<class Y> auto_ptr(auto_ptr<Y>&) throw();
390 template<class Y> auto_ptr& operator=(auto_ptr<Y>&) throw();
401 template<class Y> operator auto_ptr_ref<Y>() throw();
402 template<class Y> operator auto_ptr<Y>() throw();
405 template <class T>
409 …template <class U> constexpr default_delete(const default_delete<U>&) noexcept; // constexpr since…
414 template <class T>
418 …template <class U> constexpr default_delete(const default_delete <U[]>&) noexcept; // constexpr si…
420 template <class U> void operator()(U*) const = delete;
423 template <class T, class D = default_delete<T>>
424 class unique_ptr
438 template <class U, class E>
440 template <class U>
448 template <class U, class E>
466 template <class T, class D>
467 class unique_ptr<T[], D>
480 template <class U, class E>
489 template <class U, class E>
504 template <class U> void reset(U) = delete;
508 template <class T, class D>
511 template <class T1, class D1, class T2, class D2>
513 template <class T1, class D1, class T2, class D2>
515 template <class T1, class D1, class T2, class D2>
517 template <class T1, class D1, class T2, class D2>
519 template <class T1, class D1, class T2, class D2>
521 template <class T1, class D1, class T2, class D2>
523 template<class T1, class D1, class T2, class D2>
530 template <class T, class D>
532 template <class T, class D>
534 template <class T, class D>
536 template <class T, class D>
539 template <class T, class D>
541 template <class T, class D>
543 template <class T, class D>
545 template <class T, class D>
547 template <class T, class D>
549 template <class T, class D>
551 template <class T, class D>
553 template <class T, class D>
555 template<class T, class D>
560 class bad_weak_ptr
566 template<class T, class... Args>
568 template<class T>
570 template<class T, class... Args> unspecified make_unique(Args&&...) = delete; // C++14, T == U[N]
572 template<class T>
574 template<class T>
576 template<class T, class... Args>
579 template<class E, class T, class Y, class D>
582 template<class T>
583 class shared_ptr
592 template<class Y> explicit shared_ptr(Y* p);
593 template<class Y, class D> shared_ptr(Y* p, D d);
594 template<class Y, class D, class A> shared_ptr(Y* p, D d, A a);
595 template <class D> shared_ptr(nullptr_t p, D d);
596 template <class D, class A> shared_ptr(nullptr_t p, D d, A a);
597 template<class Y> shared_ptr(const shared_ptr<Y>& r, T *p) noexcept;
599 template<class Y> shared_ptr(const shared_ptr<Y>& r) noexcept;
601 template<class Y> shared_ptr(shared_ptr<Y>&& r) noexcept;
602 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
603 template<class Y> shared_ptr(auto_ptr<Y>&& r); // removed in C++17
604 template <class Y, class D> shared_ptr(unique_ptr<Y, D>&& r);
612 template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
614 template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r);
615 template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r); // removed in C++17
616 template <class Y, class D> shared_ptr& operator=(unique_ptr<Y, D>&& r);
621 template<class Y> void reset(Y* p);
622 template<class Y, class D> void reset(Y* p, D d);
623 template<class Y, class D, class A> void reset(Y* p, D d, A a);
632 template<class U> bool owner_before(shared_ptr<U> const& b) const noexcept;
633 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
636 template<class T>
638 template<class T, class D>
642 template<class T, class U>
644 template<class T, class U>
646 template<class T, class U>
648 template<class T, class U>
650 template<class T, class U>
652 template<class T, class U>
654 template<class T, class U>
657 template <class T>
659 template <class T>
661 template <class T>
663 template <class T>
665 template <class T>
667 template <class T>
669 template <class T>
671 template <class T>
673 template <class T>
675 template <class T>
677 template <class T>
679 template <class T>
681 template<class T>
685 template<class T> void swap(shared_ptr<T>& a, shared_ptr<T>& b) noexcept;
688 template<class T, class U>
690 template<class T, class U>
692 template<class T, class U>
696 template<class E, class T, class Y>
700 template<class D, class T> D* get_deleter(shared_ptr<T> const& p) noexcept;
702 template<class T, class... Args>
704 template<class T, class A, class... Args>
707 template<class T>
709 template<class T, class A>
712 template<class T>
714 template<class T, class A>
717 template<class T>
719 template<class T, class A>
722 template<class T> shared_ptr<T>
724 template<class T, class A>
727 template<class T>
729 template<class T, class A>
732 template<class T>
734 template<class T, class A>
737 template<class T>
738 class weak_ptr
746 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
748 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
750 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
757 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
758 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
760 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
770 template<class U> bool owner_before(shared_ptr<U> const& b) const noexcept;
771 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
774 template<class T>
778 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
780 // class owner_less:
781 template<class T> struct owner_less;
783 template<class T>
793 template<class T>
806 template <class _Tp, class _Up>
808 template <class _Tp, class _Up>
810 template <class _Tp, class _Up>
812 template <class _Tp, class _Up>
818 template<class T>
819 class enable_shared_from_this
831 template<class T>
833 template<class T>
835 template<class T>
837 template<class T>
839 template<class T>
841 template<class T>
843 template<class T>
846 template<class T>
849 template<class T>
852 template<class T>
857 template<class T>
863 template <class T> struct hash;
864 template <class T, class D> struct hash<unique_ptr<T, D> >;
865 template <class T> struct hash<shared_ptr<T> >;
867 template <class T, class Alloc>
873 template<size_t N, class T>