# std::experimental::simd

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

Defined in header `<experimental/simd>` |  |
template< class T, class Abi = simd_abi::compatible<T> > class simd; |  |

The class template simd is a data-parallel type. The width of a given simd instantiation is a constant expression, determined by the template parameters.

An ABI tag is a type in the simd_abi namespace that indicates a choice of size and binary representation for objects of data-parallel type.

### Template parameters

T | - | element type
Abi | - | tag type used to determine the number of elements and storage

### Helper alias templates

template< class T, int N > using fixed_size_simd = std::experimental::simd<T, std::experimental::simd_abi::fixed_size<N>>; |  |
template< class T, int N > using native_simd = std::experimental::simd<T, std::experimental::simd_abi::native>; |  |

### Member types

Member type | Definition
`value_type` | T
`reference` | implementation-defined
`mask_type` | simd_mask<T, Abi>
`abi_type` | Abi

### Member functions

(constructor) | constructs a `simd` object (public member function)
copy_from | loads from address (public member function)
copy_to | stores to address (public member function)
operator[] | accesses specified element (public member function)
operator++ operator-- | element-wise increment and decrement (public member function)
operator! operator~ operator+ operator- | element-wise unary operators (public member function)
size [static] | returns the number of elements (public static member function)

### Non-member functions

operator+ operator- operator* operator/ operator% operator& operator| operator^ operator<< operator>> operator<< operator>> | element-wise binary operators (function)
operator+= operator-= operator*= operator/= operator%= operator&= operator|= operator^= operator<<= operator>>= operator<<= operator>>= | element-wise compound binary operators (function)
operator== operator!= operator>= operator<= operator> operator< | element-wise relational operators (function)

### Example

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