Date
2013-04-19.22:22:17
Message id
6477

Content

Proposed resolution:

This wording is relative to N3376.

Change [util.smartptr.shared.atomic] as indicated:

template<class T>
  bool atomic_compare_exchange_weak(
    shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w);

-27- Requires: p shall not be null and v shall not be null.

[…]

template<class T>
  bool atomic_compare_exchange_weak_explicit(
    shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w,
    memory_order success, memory_order failure);
template<class T>
  bool atomic_compare_exchange_strong_explicit(
    shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w,
    memory_order success, memory_order failure);

-31- Requires: p shall not be null and v shall not be null.

[…]