From Jason Turner

[util.smartptr.shared.assign]

Diff to HTML by rtfpessoa

tmp/tmprkoxg8d8/{from.md → to.md} RENAMED
@@ -1,10 +1,10 @@
1
  ##### Assignment <a id="util.smartptr.shared.assign">[[util.smartptr.shared.assign]]</a>
2
 
3
  ``` cpp
4
- shared_ptr& operator=(const shared_ptr& r) noexcept;
5
- template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
6
  ```
7
 
8
  *Effects:* Equivalent to `shared_ptr(r).swap(*this)`.
9
 
10
  *Returns:* `*this`.
@@ -26,20 +26,20 @@ q = p;
26
  both assignments can be no-ops.
27
 
28
  — *end note*]
29
 
30
  ``` cpp
31
- shared_ptr& operator=(shared_ptr&& r) noexcept;
32
- template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r) noexcept;
33
  ```
34
 
35
  *Effects:* Equivalent to `shared_ptr(std::move(r)).swap(*this)`.
36
 
37
  *Returns:* `*this`.
38
 
39
  ``` cpp
40
- template<class Y, class D> shared_ptr& operator=(unique_ptr<Y, D>&& r);
41
  ```
42
 
43
  *Effects:* Equivalent to `shared_ptr(std::move(r)).swap(*this)`.
44
 
45
  *Returns:* `*this`.
 
1
  ##### Assignment <a id="util.smartptr.shared.assign">[[util.smartptr.shared.assign]]</a>
2
 
3
  ``` cpp
4
+ constexpr shared_ptr& operator=(const shared_ptr& r) noexcept;
5
+ template<class Y> constexpr shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
6
  ```
7
 
8
  *Effects:* Equivalent to `shared_ptr(r).swap(*this)`.
9
 
10
  *Returns:* `*this`.
 
26
  both assignments can be no-ops.
27
 
28
  — *end note*]
29
 
30
  ``` cpp
31
+ constexpr shared_ptr& operator=(shared_ptr&& r) noexcept;
32
+ template<class Y> constexpr shared_ptr& operator=(shared_ptr<Y>&& r) noexcept;
33
  ```
34
 
35
  *Effects:* Equivalent to `shared_ptr(std::move(r)).swap(*this)`.
36
 
37
  *Returns:* `*this`.
38
 
39
  ``` cpp
40
+ template<class Y, class D> constexpr shared_ptr& operator=(unique_ptr<Y, D>&& r);
41
  ```
42
 
43
  *Effects:* Equivalent to `shared_ptr(std::move(r)).swap(*this)`.
44
 
45
  *Returns:* `*this`.