|
6666 | 6666 | template <class T> unique_ptr<T> make_unique(size_t n);
|
6667 | 6667 | template <class T, class... Args> @\unspec@ make_unique(Args&&...) = delete;
|
6668 | 6668 |
|
6669 |
| - template <class T, class D> void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept; |
| 6669 | + template <class T, class D> |
| 6670 | + void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept; |
6670 | 6671 |
|
6671 | 6672 | template <class T1, class D1, class T2, class D2>
|
6672 | 6673 | bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
|
|
6714 | 6715 |
|
6715 | 6716 | // \ref{util.smartptr.shared.create}, \tcode{shared_ptr} creation
|
6716 | 6717 | template<class T, class... Args>
|
6717 |
| - shared_ptr<T> make_shared(Args&&... args); |
| 6718 | + shared_ptr<T> make_shared(Args&&... args); // \tcode{T} is not array |
6718 | 6719 | template<class T, class A, class... Args>
|
6719 |
| - shared_ptr<T> allocate_shared(const A& a, Args&&... args); |
| 6720 | + shared_ptr<T> allocate_shared(const A& a, Args&&... args); // \tcode{T} is not array |
| 6721 | + |
| 6722 | + template<class T> |
| 6723 | + shared_ptr<T> make_shared(size_t N); // \tcode{T} is \tcode{U[]} |
| 6724 | + template<class T, class A> |
| 6725 | + shared_ptr<T> allocate_shared(const A& a, size_t N); // \tcode{T} is \tcode{U[]} |
| 6726 | + |
| 6727 | + template<class T> |
| 6728 | + shared_ptr<T> make_shared(); // \tcode{T} is \tcode{U[N]} |
| 6729 | + template<class T, class A> |
| 6730 | + shared_ptr<T> allocate_shared(const A& a); // \tcode{T} is \tcode{U[N]} |
| 6731 | + |
| 6732 | + template<class T> |
| 6733 | + shared_ptr<T> make_shared(size_t N, const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
| 6734 | + template<class T, class A> |
| 6735 | + shared_ptr<T> allocate_shared(const A& a, size_t N, |
| 6736 | + const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
| 6737 | + |
| 6738 | + template<class T> shared_ptr<T> |
| 6739 | + make_shared(const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
| 6740 | + template<class T, class A> |
| 6741 | + shared_ptr<T> allocate_shared(const A& a, const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
6720 | 6742 |
|
6721 | 6743 | // \ref{util.smartptr.shared.cmp}, \tcode{shared_ptr} comparisons
|
6722 | 6744 | template<class T, class U>
|
|
7987 | 8009 | template<class T> unique_ptr<T> make_unique(size_t n);
|
7988 | 8010 | template<class T, class... Args> @\unspec@ make_unique(Args&&...) = delete;
|
7989 | 8011 |
|
7990 |
| - template<class T, class D> void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept; |
| 8012 | + template<class T, class D> |
| 8013 | + void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept; |
7991 | 8014 |
|
7992 | 8015 | template<class T1, class D1, class T2, class D2>
|
7993 | 8016 | bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
|
|
8026 | 8049 | bool operator>=(const unique_ptr<T, D>& x, nullptr_t);
|
8027 | 8050 | template <class T, class D>
|
8028 | 8051 | bool operator>=(nullptr_t, const unique_ptr<T, D>& y);
|
8029 |
| - |
8030 | 8052 | }
|
8031 | 8053 | \end{codeblock}
|
8032 | 8054 |
|
|
9167 | 9189 |
|
9168 | 9190 | // \ref{util.smartptr.shared.create}, \tcode{shared_ptr} creation
|
9169 | 9191 | template<class T, class... Args>
|
9170 |
| - shared_ptr<T> make_shared(Args&&... args); // \tcode{T} is not array |
| 9192 | + shared_ptr<T> make_shared(Args&&... args); // \tcode{T} is not array |
9171 | 9193 | template<class T, class A, class... Args>
|
9172 |
| - shared_ptr<T> allocate_shared(const A& a, Args&&... args); // \tcode{T} is not array |
| 9194 | + shared_ptr<T> allocate_shared(const A& a, Args&&... args); // \tcode{T} is not array |
9173 | 9195 |
|
9174 |
| - template<class T> shared_ptr<T> make_shared(size_t N); // \tcode{T} is \tcode{U[]} |
| 9196 | + template<class T> |
| 9197 | + shared_ptr<T> make_shared(size_t N); // \tcode{T} is \tcode{U[]} |
9175 | 9198 | template<class T, class A>
|
9176 |
| - shared_ptr<T> allocate_shared(const A& a, size_t N); // \tcode{T} is \tcode{U[]} |
| 9199 | + shared_ptr<T> allocate_shared(const A& a, size_t N); // \tcode{T} is \tcode{U[]} |
9177 | 9200 |
|
9178 |
| - template<class T> shared_ptr<T> make_shared(); // \tcode{T} is \tcode{U[N]} |
| 9201 | + template<class T> |
| 9202 | + shared_ptr<T> make_shared(); // \tcode{T} is \tcode{U[N]} |
9179 | 9203 | template<class T, class A>
|
9180 |
| - shared_ptr<T> allocate_shared(const A& a); // \tcode{T} is \tcode{U[N]} |
| 9204 | + shared_ptr<T> allocate_shared(const A& a); // \tcode{T} is \tcode{U[N]} |
9181 | 9205 |
|
9182 | 9206 | template<class T>
|
9183 |
| - shared_ptr<T> make_shared(size_t N, const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
| 9207 | + shared_ptr<T> make_shared(size_t N, const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
9184 | 9208 | template<class T, class A>
|
9185 | 9209 | shared_ptr<T> allocate_shared(const A& a, size_t N,
|
9186 |
| - const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
| 9210 | + const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[]} |
9187 | 9211 |
|
9188 | 9212 | template<class T> shared_ptr<T>
|
9189 |
| - make_shared(const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
| 9213 | + make_shared(const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
9190 | 9214 | template<class T, class A>
|
9191 |
| - shared_ptr<T> allocate_shared(const A& a, |
9192 |
| - const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
| 9215 | + shared_ptr<T> allocate_shared(const A& a, const remove_extent_t<T>& u); // \tcode{T} is \tcode{U[N]} |
9193 | 9216 |
|
9194 | 9217 | // \ref{util.smartptr.shared.cmp}, \tcode{shared_ptr} comparisons
|
9195 | 9218 | template<class T, class U>
|
|
0 commit comments