From Jason Turner

[util.smartptr.shared.atomic]

Diff to HTML by rtfpessoa

tmp/tmp_fbsm_b4/{from.md → to.md} RENAMED
@@ -99,11 +99,11 @@ template<class T>
99
  template<class T>
100
  bool atomic_compare_exchange_weak(
101
  shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w);
102
  ```
103
 
104
- *Requires:* `p` shall not be null.
105
 
106
  *Returns:*
107
  `atomic_compare_exchange_weak_explicit(p, v, w, memory_order_seq_cst, memory_order_seq_cst)`.
108
 
109
  *Throws:* Nothing.
@@ -126,11 +126,11 @@ template<class T>
126
  bool atomic_compare_exchange_strong_explicit(
127
  shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w,
128
  memory_order success, memory_order failure);
129
  ```
130
 
131
- *Requires:* `p` shall not be null.
132
 
133
  *Requires:* `failure` shall not be `memory_order_release`,
134
  `memory_order_acq_rel`, or stronger than `success`.
135
 
136
  *Effects:* If `*p` is equivalent to `*v`, assigns `w` to `*p` and has
 
99
  template<class T>
100
  bool atomic_compare_exchange_weak(
101
  shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w);
102
  ```
103
 
104
+ *Requires:* `p` shall not be null and `v` shall not be null.
105
 
106
  *Returns:*
107
  `atomic_compare_exchange_weak_explicit(p, v, w, memory_order_seq_cst, memory_order_seq_cst)`.
108
 
109
  *Throws:* Nothing.
 
126
  bool atomic_compare_exchange_strong_explicit(
127
  shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w,
128
  memory_order success, memory_order failure);
129
  ```
130
 
131
+ *Requires:* `p` shall not be null and `v` shall not be null.
132
 
133
  *Requires:* `failure` shall not be `memory_order_release`,
134
  `memory_order_acq_rel`, or stronger than `success`.
135
 
136
  *Effects:* If `*p` is equivalent to `*v`, assigns `w` to `*p` and has