std::experimental::simd_abi::fixed_size
< cpp | experimental | simd
定义于头文件 <experimental/simd>
|
||
template < int N > struct fixed_size {}; |
(并行 TS v2) | |
simd_abi::fixed_size<N> 标签类型确保数据并行类型存储并操纵 N 个元素(即 simd<T, simd_abi::fixed_size<N>>::size() 返回 N )。实现应当支持至少全部 N ∈ [1 … 32] 。另外,对于每个受支持的 simd<T, Abi> ,其中 Abi 是实现定义的 ABI 标签,应当支持 N = simd<T, Abi>::size() 。
注意
实现可以选择对使用相同 simd_abi::fixed_size<N> 标签的 simd
和 simd_mask
实例化放弃不同翻译单元间的 ABI 兼容性。否则, simd<T, Abi> 的效率可能优于 simd<T, fixed_size<simd_size_v<T, Abi>>> (其中 Abi 不是 simd_abi::fixed_size 的实例)。
参阅
(并行 TS v2) |
保证支持的固定最大元素数 (常量) |
(并行 TS v2) |
存储单个元素的标签类型 (typedef) |
(并行 TS v2) |
确保 ABI 兼容性的标签类型 (别名模板) |
(并行 TS v2) |
最有效率的标签类型 (别名模板) |
(并行 TS v2) |
获得给定的元素类型及元素数的 ABI 类型 (类模板) |