std::experimental::simd_abi::deduce
来自cppreference.com
                    
                                        
                    < cpp | experimental | simd
                    
                                                            
                    |   在标头  <experimental/simd> 定义
  | 
||
|   template < class T, std::size_t N, class ...Abis > struct deduce;  | 
(并行 TS v2) | |
类型 deduce<T, N, Abis...>::type 当且仅当符合下列条件才存在:
- T 是可向量化的类型,且
 - simd_abi::fixed_size<N> 得到支持,且
 - Abis... 中的每个元素均为 ABI 标签
 
当 deduce<T, N, Abis...>::type 存在时以 DA 指代它,则
- simd_size_v<T, DA> == N
 - simd<T, DA> 可默认构造,即它受支持
 -  若 N==1 则 
DA为simd_abi::scalar,否则它是实现定义的 
成员类型
| 名字 | 定义 | 
  type
 | 
  适合给定元素类型 T 和大小 N 的 ABI 标签类型
 | 
辅助类型
|   template < class T, std::size_t N, class ...Abis > using deduce_t = typename deduce<T, N, Abis...>::type;  | 
(并行 TS v2) | |
注解
simd_abi::deduce 对 SFINAE 友好。
通过此设施推导的 ABI 标签是实现质量特性。简单的实现可以简单地返回 fixed_size<N> 。优化的实现可以对大多数输入返回实现定义的扩展 ABI 标签。从而若你需要给定元素数的 ABI 标签,就使用 fixed_size ,否则更应该用 deduce_t 。
示例
| 本节未完成 原因:暂无示例  | 
参阅
|    (并行 TS v2)  | 
   存储单个元素的标签类型   (typedef)  | 
|    (并行 TS v2)  | 
   存储指定数量元素的标签类型   (别名模板)  | 
|    (并行 TS v2)  | 
   确保 ABI 兼容性的标签类型   (别名模板)  | 
|    (并行 TS v2)  | 
   最有效率的标签类型   (别名模板)  |