From Jason Turner

[util.smartptr.weak.assign]

Diff to HTML by rtfpessoa

tmp/tmp_pdqlwte/{from.md → to.md} RENAMED
@@ -1,23 +1,23 @@
1
  ##### Assignment <a id="util.smartptr.weak.assign">[[util.smartptr.weak.assign]]</a>
2
 
3
  ``` cpp
4
- weak_ptr& operator=(const weak_ptr& r) noexcept;
5
- template<class Y> weak_ptr& operator=(const weak_ptr<Y>& r) noexcept;
6
- template<class Y> weak_ptr& operator=(const shared_ptr<Y>& r) noexcept;
7
  ```
8
 
9
  *Effects:* Equivalent to `weak_ptr(r).swap(*this)`.
10
 
11
  *Returns:* `*this`.
12
 
13
  *Remarks:* The implementation may meet the effects (and the implied
14
  guarantees) via different means, without creating a temporary object.
15
 
16
  ``` cpp
17
- weak_ptr& operator=(weak_ptr&& r) noexcept;
18
- template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept;
19
  ```
20
 
21
  *Effects:* Equivalent to `weak_ptr(std::move(r)).swap(*this)`.
22
 
23
  *Returns:* `*this`.
 
1
  ##### Assignment <a id="util.smartptr.weak.assign">[[util.smartptr.weak.assign]]</a>
2
 
3
  ``` cpp
4
+ constexpr weak_ptr& operator=(const weak_ptr& r) noexcept;
5
+ template<class Y> constexpr weak_ptr& operator=(const weak_ptr<Y>& r) noexcept;
6
+ template<class Y> constexpr weak_ptr& operator=(const shared_ptr<Y>& r) noexcept;
7
  ```
8
 
9
  *Effects:* Equivalent to `weak_ptr(r).swap(*this)`.
10
 
11
  *Returns:* `*this`.
12
 
13
  *Remarks:* The implementation may meet the effects (and the implied
14
  guarantees) via different means, without creating a temporary object.
15
 
16
  ``` cpp
17
+ constexpr weak_ptr& operator=(weak_ptr&& r) noexcept;
18
+ template<class Y> constexpr weak_ptr& operator=(weak_ptr<Y>&& r) noexcept;
19
  ```
20
 
21
  *Effects:* Equivalent to `weak_ptr(std::move(r)).swap(*this)`.
22
 
23
  *Returns:* `*this`.