std::atomic_ref<T>::operator=
From cppreference.com
< cpp | atomic | atomic ref
C++
Concurrency support library
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::atomic_ref
| Member functions | ||||
atomic_ref::operator= | ||||
(C++26) | ||||
| Operations for arithmetic types (except bool and pointer-to-object) | ||||
| Operations for integral types (except bool and pointer-to-object) | ||||
(C++26) | ||||
(C++26) | ||||
| Operations for integral types (except bool) | ||||
| Constants | ||||
value_type operator=( value_type desired ) const noexcept; |
(1) | (constexpr since C++26) |
| atomic_ref& operator=( const atomic_ref& ) = delete; |
(2) | |
1) Equivalent to store(desired); return desired;. This overload participates in overload resolution only if std::is_const_v<T> is false.
Contents |
[edit] Parameters
| desired | - | value to assign |
[edit] Return value
As described above.
[edit] Notes
Unlike most assignment operators, the assignment operator for atomic_ref does not return a reference to its left-hand argument. It returns a copy of the stored value instead.
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| P3323R1) | C++20 | assignment operator was meaningless for const T | constrained to accept only non-const T
|
[edit] See also
constructs an atomic_ref object (public member function) [edit] | |
| atomically replaces the value of the referenced object with a non-atomic argument (public member function) [edit] |