std::atomic_fetch_or, std::atomic_fetch_or_explicit

来自cppreference.com

 
 
原子操作庫
類型
Original:
Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
atomic(C++11)
atomic_is_lock_free(C++11)
功能
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
atomic_store
atomic_store_explicit
(C++11)
(C++11)
atomic_load
atomic_load_explicit
(C++11)
(C++11)
atomic_exchange
atomic_exchange_explicit
(C++11)
(C++11)
atomic_compare_exchange_weak
atomic_compare_exchange_weak_explicit
atomic_compare_exchange_strong
atomic_compare_exchange_strong_explicit
(C++11)
(C++11)
(C++11)
(C++11)
atomic_fetch_add
atomic_fetch_add_explicit
(C++11)
(C++11)
atomic_fetch_sub
atomic_fetch_sub_explicit
(C++11)
(C++11)
atomic_fetch_and
atomic_fetch_and_explicit
(C++11)
(C++11)
atomic_fetch_or
atomic_fetch_or_explicit
(C++11)
(C++11)
atomic_fetch_xor
atomic_fetch_xor_explicit
(C++11)
(C++11)
原子標誌
Original:
Atomic flags
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
atomic_flag(C++11)
atomic_flag_test_and_set
atomic_flag_test_and_set_explicit
(C++11)
(C++11)
atomic_flag_clear
atomic_flag_clear_explicit
(C++11)
(C++11)
初始化
Original:
Initialization
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
atomic_init(C++11)
ATOMIC_VAR_INIT(C++11)
ATOMIC_FLAG_INIT(C++11)
內存排序
Original:
Memory ordering
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
memory_order(C++11)
kill_dependency(C++11)
atomic_thread_fence(C++11)
atomic_signal_fence(C++11)
 
Defined in header <atomic>
template< class Integral >
Integral atomic_fetch_or( std::atomic<Integral>* obj, Integral arg );
(1) (C++11 起)
template< class Integral >
Integral atomic_fetch_or( volatile std::atomic<Integral>* obj, Integral arg );
(2) (C++11 起)
template< class Integral >

Integral atomic_fetch_or_explicit( std::atomic<Integral>* obj, Integral arg,

                                   std::memory_order order );
(3) (C++11 起)
template< class Integral >

Integral atomic_fetch_or_explicit( volatile std::atomic<Integral>* obj, Integral arg,

                                   std::memory_order order );
(4) (C++11 起)
1-2)
原子取代所指向的數值arg的結果按位OR之間的舊值objarg,並返回值obj舉行之前,如果由obj->fetch_and(arg)
Original:
Atomically replaces the value pointed by arg with the result of bitwise OR between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3-4)
原子取代所指向的數值arg的結果按位OR之間的舊值objarg,並返回值obj舉行之前,如果由obj->fetch_and(arg, order)
Original:
Atomically replaces the value pointed by arg with the result of bitwise OR between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg, order)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目錄

[编辑] 參數

obj -
指針的原子對象修改
Original:
pointer to the atomic object to modify
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
arg -
位或存儲的值的原子對象的價值
Original:
the value to bitwise OR to the value stored in the atomic object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
order -
的的內存sycnhronization訂購此操作:所有的允許值.
Original:
the memory sycnhronization ordering for this operation: all values are permitted.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 返回值

以前保存的值的原子對象所指向的obj
Original:
The value held previously by the atomic object pointed to by obj
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 例外

noexcept specification:  
noexcept
  (C++11 起)

[编辑] 可能的實現

template< class T >
typename std::enable_if<std::is_integral<T>::value && !std::is_same<T, bool>::value, T>::type
atomic_fetch_or( std::atomic<T>* obj, T arg );
{
    return obj->fetch_or(arg);
}

[编辑] 為例

[编辑] 另請參閱

(C++11)
atomically performs bitwise OR between the argument and the value of the atomic object and obtains the value held previously
(公共成員函數of std::atomic [edit]
取代的原子的對象與結果的邏輯AND(與),帶的非原子參數和獲得原子的先前的值
Original:
replaces the atomic object with the result of logical AND with a non-atomic argument and obtains the previous value of the atomic
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函數模板) [edit]
取代的原子的對象與非原子參數的邏輯異或的結果和獲得原子的先前的值
Original:
replaces the atomic object with the result of logical XOR with a non-atomic argument and obtains the previous value of the atomic
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函數模板) [edit]
C documentation for atomic_fetch_or, atomic_fetch_or_explicit