# std::experimental::simd

< cpp‎ | experimental‎ | simd

定义于头文件 `<experimental/simd>` |  |
template< class T, class Abi = simd_abi::compatible<T> > class simd; |  | (并行 TS v2)

类模板 simd 是数据并行类型。给定的 simd 实例化的宽度是常量表达式，由模板形参确定。

ABI 标签是 simd_abi 命名空间中的类型，指示数据并行类型对象的大小和二进制表示。

### 模板形参

T | - | 元素类型
Abi | - | 用于确定元素数和存储的标签类型

### 辅助别名模版

template< class T, int N > using fixed_size_simd = std::experimental::simd<T, std::experimental::simd_abi::fixed_size<N>>; |  |
template< class T, int N > using native_simd = std::experimental::simd<T, std::experimental::simd_abi::native>; |  |

### 成员类型

成员类型 | 定义
`value_type` | T
`reference` | 实现定义
`mask_type` | simd_mask<T, Abi>
`abi_type` | Abi

### 成员函数

(构造函数) | 构造 `simd` 对象 (公开成员函数)
copy_from | 从地址加载 (公开成员函数)
copy_to | 存储到地址 (公开成员函数)
operator[] | 访问指定的元素 (公开成员函数)
operator++ operator-- | 逐元素自增与自减 (公开成员函数)
operator! operator~ operator+ operator- | 逐元素一元运算符 (公开成员函数)
size [静态] | 返回元素数 (公开静态成员函数)

### 非成员函数

operator+ operator- operator* operator/ operator% operator& operator| operator^ operator<< operator>> operator<< operator>> | 逐元素二元运算符 (函数)
operator+= operator-= operator*= operator/= operator%= operator&= operator|= operator^= operator<<= operator>>= operator<<= operator>>= | 逐元素复合赋值运算符 (函数)
operator== operator!= operator>= operator<= operator> operator< | 逐元素关系运算符 (函数)

### 示例