std::experimental::simd_abi:: deduce
|
ヘッダーで定義
<experimental/simd>
|
||
|
template
<
class
T,
std::
size_t
N,
class
...
Abis
>
struct deduce ; |
(parallelism TS v2) | |
型 deduce < T, N, Abis... > :: type が存在する条件は以下の通りです:
- T はベクトル化可能な型であり、
- simd_abi :: fixed_size < N > がサポートされており、
- Abis... 内のすべての型がABIタグである。
DA
が存在する場合、
deduce
<
T, N, Abis...
>
::
type
を表すものとする。
- simd_size_v < T, DA > == N 、
- simd < T, DA > はデフォルト構築可能、すなわちサポートされている、
-
DAはsimd_abi::scalarである( N == 1 の場合)、それ以外の場合は実装定義である。
目次 |
メンバー型
| 名前 | 定義 |
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タグは実装品質の機能です。実装は
Abis...
に基づいて選択を行うことができますが、
Abis...
引数を無視することもできます。単純な実装では、無条件に
fixed_size
<
N
>
を返すかもしれません。最適化された実装では、ほとんどの入力に対して実装定義の拡張ABIタグを返す可能性があります。したがって、特定の要素数に対するABIタグが必要な場合、ABI安定性が懸念される場合は
fixed_size
を使用し、それ以外の場合は
deduce_t
を優先してください。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(parallelism TS v2)
|
単一要素を格納するタグ型
(typedef) |
|
(parallelism TS v2)
|
指定された数の要素を格納するタグ型
(alias template) |
|
(parallelism TS v2)
|
ABI互換性を保証するタグ型
(alias template) |
|
(parallelism TS v2)
|
最も効率的なタグ型
(alias template) |