アトミック構造
ストアド値のアトミックな操作の種類を実行するオブジェクトについて説明Ty。
template <class Ty>
struct atomic;
メンバー
パブリック コンストラクター
名前 |
Description |
---|---|
アトミック オブジェクトを構築します。 |
パブリック演算子
名前 |
Description |
---|---|
読み込み、格納された値を返します。(atomic::load のメソッド) |
|
ストアド値を置換するのには、指定した値を使用します。(atomic::store のメソッド) |
|
格納されている値をインクリメントします。整数値とポインター特化によってのみを使用します。 |
|
指定した値が格納されている値を追加します。整数値とポインター特化によってのみを使用します。 |
|
デクリメント、格納されている値。整数値とポインター特化によってのみを使用します。 |
|
指定した値格納されている値からを減算します。整数値とポインター特化によってのみを使用します。 |
|
ビットごとの or を実行andで指定した値と保存されている値。整数の特化によってのみを使用します。 |
|
ビットごとの or を実行orで指定した値と保存されている値。整数の特化によってのみを使用します。 |
|
ビットごとの or を実行exclusive orで指定した値と保存されている値。整数の特化によってのみを使用します。 |
パブリック メソッド
名前 |
Description |
---|---|
実行、 atomic_compare_and_exchange操作をthisし、結果を返します。 |
|
実行、 weak_atomic_compare_and_exchange操作をthisし、結果を返します。 |
|
指定した値が格納されている値を追加します。 |
|
ビットごとの or を実行andで指定した値と保存されている値。 |
|
ビットごとの or を実行orで指定した値と保存されている値。 |
|
指定した値格納されている値からを減算します。 |
|
ビットごとの or を実行exclusive orで指定した値と保存されている値。 |
|
指定かどうかアトミック操作をthisはロックの無料。アトミック型であるロックの無料原子動作にその種類のロックを使用しない場合。 |
|
読み込み、格納された値を返します。 |
|
ストアド値を置換するのには、指定した値を使用します。 |
解説
型Tyする必要があります簡単にコピー。つまりを使用して memcpy のバイトをコピーするのには、有効な作成する必要がありますTy 、元のオブジェクトが等しいと比較するオブジェクト。compare_exchange_weakとcompare_exchange_strongメンバー関数の使用 memcmp 2 かどうかを判断するTyの値が等しい。これらの関数を使用しない、 Tyの定義operator==。メンバー関数のatomicを使用してmemcpy型の値をコピーするのにはTy。
部分的な特殊化をatomic<Ty *>、すべてのポインター型に存在しています。マネージ ポインターの値にオフセットを追加または減算のオフセットから特殊化ことができます。引数の型の算術演算を実行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。
必要条件
ヘッダー: 原子
名前空間: std