integral-type atomic_fetch_or(
atomic< integral-type >* p, integral-type i) noexcept;
Результат
return p->fetch_or(i);
STD::ATOMIC_FETCH_OR_EXPLICIT
, ФУНКЦИЯ, HE ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Атомарно читает значение из экземпляра atomic< integral-type >
и заменяет его результатом операции поразрядное-или между этим значением и аргументом i .
Объявление
integral-typ e atomic_fetch_or_explicit(
volatile atomic< integral-type >* p,
integral-type i, memory_order order) noexcept;
integral-type atomic_fetch_or_explicit(
atomic< integral-type >* p,
integral-type i, memory_order order) noexcept;
Результат
return p->fetch_or(i, order);
STD::ATOMIC::FETCH_XOR
, ФУНКЦИЯ-ЧЛЕН
Атомарно загружает значение и заменяет его результатом операции поразрядное исключающее-или между этим значением и аргументом 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-=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ
Атомарно вычитает значение аргумента из значения, хранящегося в *this
, и возвращает новое значение.
Объявление
integral-type operator-=( integral-type i) volatile noexcept;
integral-type operator-=( integral-type i) noexcept;
Результат
return this->fetch_sub(i, std::memory_order_seq_cst) - i;
Читать дальше