template<class U> constexpr explicit(see below) basic_simd(U&& value) noexcept;
template<class U, class UAbi>
constexpr explicit(see below) basic_simd(const basic_simd<U, UAbi>& x) noexcept;
template<class G> constexpr explicit basic_simd(G&& gen);
template<class R, class... Flags>
constexpr basic_simd(R&& r, flags<Flags...> = {});
template<class R, class... Flags>
constexpr basic_simd(R&& r, const mask_type& mask, flags<Flags...> = {});
template<class R, class... Ts>
basic_simd(R&& r, Ts...) -> see below;
template<simd-floating-point V>
constexpr explicit(see below)
basic_simd(const V& reals, const V& imags = {}) noexcept;
constexpr value_type operator[](simd-size-type i) const;
constexpr basic_simd& operator++() noexcept;
constexpr basic_simd operator++(int) noexcept;
constexpr basic_simd& operator--() noexcept;
constexpr basic_simd operator--(int) noexcept;
constexpr mask_type operator!() const noexcept;
constexpr basic_simd operator~() const noexcept;
constexpr basic_simd operator+() const noexcept;
constexpr basic_simd operator-() const noexcept;