atomic 結構
描述物件在型別 Ty儲存值的元素不可部分完成的作業。
template <class Ty>
struct atomic;
成員
公用建構函式
Name |
說明 |
---|---|
建構一個不可部分完成的物件。 |
公用運算子
Name |
說明 |
---|---|
讀取並回傳已儲存的值。(atomic::load 方法) |
|
使用指定的值取代所儲存的值。(atomic::store 方法) |
|
增加儲存的值。 只能由整數和指標特製化。 |
|
增加指定值加至儲存的值。 只能由整數和指標特製化。 |
|
減少儲存的值。 只能由整數和指標特製化。 |
|
從儲存的值減去某個值。 只能由整數和指標特製化。 |
|
對指定值與儲存值執行位元 and 。 為整數限定使用。 |
|
對指定值與儲存值執行位元 or。 為整數限定使用。 |
|
對指定值與儲存值執行位元 exclusive or 。 為整數限定使用。 |
公用方法
Name |
說明 |
---|---|
會在 this 上的 atomic_compare_and_exchange 作業並傳回結果。 |
|
會在 this 上的 weak_atomic_compare_and_exchange 作業並傳回結果。 |
|
增加指定值加至儲存的值。 |
|
對指定值與儲存值執行位元 and 。 |
|
對指定值與儲存值執行位元 or。 |
|
從儲存的值減去某個值。 |
|
對指定值與儲存值執行位元 exclusive or 。 |
|
指定 this 的不可部分完成的作業是否已 無鎖定。 如果該型別使用的不可部分完成的作業不會鎖定,原子型別是 無鎖定 。 |
|
讀取並回傳已儲存的值。 |
|
使用指定的值取代所儲存的值。 |
備註
Ty 型別 一般來說可複製。 也就是使用 memcpy 複製的位元組必須產生有效的 Ty 物件,其相比較等於原始物件。 compare_exchange_weak 和 compare_exchange_strong 成員函式使用 memcmp 來判斷兩個 Ty 值是否相等。 這些函式不會使用 Ty 中定義的 operator==。 atomic 的成員函式使用 memcpy 複製 Ty型別的值。
部分特製化,則為 atomic<Ty *>,存在於任何指標型別。 特製化啟用位移加入 Managed 指標值或減去其指定的位移。 算術運算接受一個型別 ptrdiff_t 之引數和根據 Ty 大小調整至該引數一致與泛型位址算術。
特製化存在於除了 bool的每個整數型別。 每個特製化為不可部分完成的算術和邏輯作業提供相當豐富的方法。
atomic<char> |
atomic<signed char> |
atomic<unsigned char> |
atomic<char16_t> |
atomic<char32_t> |
atomic<wchar_t> |
atomic<short> |
atomic<unsigned short> |
atomic<int> |
atomic<unsigned int> |
atomic<long> |
atomic<unsigned long> |
atomic<long long> |
atomic<unsigned long long> |
整數特製化從對應的 **atomic_**integral 型別衍生。 例如,atomic<unsigned int> 是從 atomic_uint 衍生而來。
需求
**標頭:**atomic
命名空間: std