std::experimental::simd_abi::fixed_size
Defined in header <experimental/simd>
|
||
template
<
int N >
struct fixed_size { } ; |
(parallelism TS v2) | |
The
simd_abi::fixed_size<N>
tag type ensures data-parallel types to store and manipulate N
elements (i.e.
simd<T, simd_abi::
fixed_size
<N>>
::
size
(
)
returns N
). An implementation shall support at least all N
∈
[
1
,
32
]
. Additionally, for every supported simd<T, Abi>, where Abi
is an implementation-defined ABI tag,
N = simd<T, Abi>
::
size
(
)
Notes
An implementation may choose to forego ABI compatibility between differently compiled translation units for simd
and simd_mask
instantiations using the same simd_abi::fixed_size<N> tag. Otherwise, the efficiency of simd<T, Abi> is likely to be better than simd<T, fixed_size<simd_size_v<T, Abi>>> (with Abi
not an instance of simd_abi::fixed_size
Example
This section is incomplete Reason: no example |
See also
(parallelism TS v2)
|
the maximum number of elements guaranteed to be supported by fixed (constant) |
(parallelism TS v2)
|
tag type for storing a single element (typedef) |
(parallelism TS v2)
|
tag type that ensures ABI compatibility (alias template) |
(parallelism TS v2)
|
tag type that is most efficient (alias template) |
(parallelism TS v2)
|
obtains an ABI type for given element type and number of elements (class template) |