Атомарно загружает значение и заменяет его результатом операции поразрядное исключающее-или между этим значением и аргументом i.
Объявление
integral-type
fetch_xor( integral-type
i, memory_order order = memory_order_seq_cst) volatile noexcept;
integral-type
fetch_xor( integral-type
i, memory_order order = memory_order_seq_cst) noexcept;
Результат
Атомарно возвращает прежнее значение *this
и сохраняет в *this
значение old-value ^ i
.Возвращаемое значение
Значение *this
непосредственно перед сохранением.Исключения
Нет.
Примечание
. Это атомарная операция чтения-модификации-записи для ячейки памяти, содержащей *this
.STD::ATOMIC_FETCH_XOR
, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССААтомарно читает значение из экземпляра atomic<integral-type
> и заменяет его результатом операции поразрядное исключающее-или между этим значением и аргументом i
.Объявление
integral-type
atomic_fetch_xor( volatile atomic<integral-type
>* p, integral-type i) noexcept;integral-type
atomic_fetch_xor( atomic<integral-type
>* p, integral-type i) noexcept;Результат
return p->fetch_xor(i);
STD::ATOMIC_FETCH_XOR_EXPLICIT
, ФУНКЦИЯ, HE ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССААтомарно читает значение из экземпляра atomic<integral-type
> и заменяет его результатом операции поразрядное исключающее-или между этим значением и аргументом i
.Объявление
integral-type
atomic_fetch_xor_explicit( volatile atomic<integral-type
>* p, integral-type
i, memory_order order) noexcept;integral-type
atomic_fetch_xor_explicit( atomic<integral-type
>* p, integral-type i, memory_order order) noexcept;
Результат
return p->fetch_xor(i,order);
STD::ATOMIC::OPERATOR++
, ОПЕРАТОР ПРЕДИНКРЕМЕНТААтомарно инкрементирует значение, хранящееся в *this
, и возвращает новое значение.Объявление
integral-type
operator++() volatile noexcept;integral-type
operator++() noexcept;Результат
return this->fetch_add(1) + 1;
STD::ATOMIC::OPERATOR++
, ОПЕРАТОР ПОСТИНКРЕМЕНТААтомарно инкрементирует значение, хранящееся в *this
, и возвращает старое значение.Объявление
integral-type
operator++(int) volatile noexcept;integral-type
operator++(int) noexcept;Результат
return this->fetch_add(1);
STD::ATOMIC::OPERATOR--
, ОПЕРАТОР ПРЕДЕКРЕМЕНТААтомарно декрементирует значение, хранящееся в *this
, и возвращает новое значение.Объявление
integral-type
operator--() volatile noexcept;integral-type
operator--() noexcept;Результат
return this->fetch_sub(1) - 1;
STD::ATOMIC::OPERATOR--
, ОПЕРАТОР ПОСТДЕКРЕМЕНТААтомарно декрементирует значение, хранящееся в *this
, и возвращает старое значение.Объявление
integral-type
operator--(int) volatile noexcept;integral-type
operator--(int) noexcept;Результат
return this->fetch_sub(1);
STD::ATOMIC::OPERATOR+=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯАтомарно складывает значение аргумента со значением, хранящимся в *this
, и возвращает новое значение.Объявление
integral-type
operator+=(integral-type i) volatile noexcept;integral-type
operator+=(integral-type i) noexcept;Результат
return this->fetch_add(i) + i;
STD::ATOMIC::OPERATOR-=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ