std::experimental::simd_abi:: deduce
|
Défini dans l'en-tête
<experimental/simd>
|
||
|
template
<
class
T,
std::
size_t
N,
class
...
Abis
>
struct deduce ; |
(parallelism TS v2) | |
Le type deduce < T, N, Abis... > :: type est présent si et seulement si :
- T est un type vectorisable,
- simd_abi :: fixed_size < N > est pris en charge, et
- chaque type dans Abis... est une étiquette ABI.
Soit
DA
désignant
deduce
<
T, N, Abis...
>
::
type
lorsqu'il est présent, alors
- simd_size_v < T, DA > == N ,
- simd < T, DA > est constructible par défaut, c'est-à-dire qu'il est pris en charge,
-
DAestsimd_abi::scalarsi N == 1 , sinon il est défini par l'implémentation.
Table des matières |
Types membres
| Nom | Définition |
type
|
un type de tag ABI approprié pour le type d'élément spécifié
T
et la taille
N
|
Types auxiliaires
|
template
<
class
T,
std::
size_t
N,
class
...
Abis
>
using deduce_t = typename deduce < T, N, Abis... > :: type ; |
(TS parallélisme v2) | |
Notes
simd_abi::deduce
est compatible avec SFINAE.
L'étiquette ABI déduite via cette fonctionnalité est une caractéristique de qualité d'implémentation.
Les implémentations peuvent baser le choix sur
Abis...
, mais peuvent également ignorer les
Abis...
arguments. Une implémentation simple pourrait simplement retourner
fixed_size
<
N
>
inconditionnellement. Une implémentation optimisée pourrait retourner une étiquette ABI étendue définie par l'implémentation pour la plupart des entrées. Par conséquent, si vous avez besoin d'une étiquette ABI pour un certain nombre d'éléments, utilisez
fixed_size
si la stabilité ABI est importante, et préférez
deduce_t
dans les autres cas.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(parallelism TS v2)
|
type d'étiquette pour stocker un seul élément
(typedef) |
|
(parallelism TS v2)
|
type d'étiquette pour stocker un nombre spécifié d'éléments
(alias template) |
|
(parallelism TS v2)
|
type d'étiquette qui garantit la compatibilité ABI
(alias template) |
|
(parallelism TS v2)
|
type d'étiquette le plus efficace
(alias template) |