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 *>,为所有指针类型存在。 从该文件中专用化允许向托管指针值增加或减少一个偏移。 算术运算采用类型 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