# std::experimental::simd_size

From cppreference.com
< cpp‎ | experimental‎ | simd

Defined in header `<experimental/simd>` |  |
template< class T, class Abi = simd_abi::compatible<T> > struct simd_size; |  | (parallelism TS v2)

If `T` is a vectorizable type and `is_abi_tag_v<Abi>` is `true`, provides the member constant `value` equal to the width (number of elements) of `simd<T, Abi>`, irrespective of whether `simd<T, Abi>` is supported or not. For any other types `T` and `Abi`, there is no member `value`.

The behavior of a program that adds specializations for `std::simd_size` or `std::simd_size_v` (since C++17) is undefined.

### Helper variable template

template< class T, class Abi = simd_abi::compatible<T> > inline constexpr std::size_t simd_size_v = simd_size<T, Abi>::value; |  | (parallelism TS v2)

## Inherited from std::integral_constant

### Member constants

value [static] | the width of `simd<T, Abi>` (public static member constant)

### Member functions

operator std::size_t | converts the object to std::size_t, returns value (public member function)
operator() (C++14) | returns value (public member function)

### Member types

Type | Definition
`value_type` | std::size_t
`type` | std::integral_constant<std::size_t, value>

### Example

| This section is incomplete Reason: no example

### See also

size [static] (parallelism TS v2) | returns the width / number of elements (public static member function of `std::experimental::simd<T,Abi>`)
size [static] (parallelism TS v2) | returns the width / number of elements (public static member function of `std::experimental::simd_mask<T,Abi>`)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/simd/simd_size&oldid=149338"