- simd[meta header]
- std::simd[meta namespace]
- basic_vec[meta class]
- variable[meta id-type]
- cpp26[meta cpp]
static constexpr integral_constant<
simd-size-type, simd-size-v<T, Abi>> size {};- simd-size-type[link /reference/simd/simd-size-type.md]
- simd-size-v[link /reference/simd/simd-size-v.md]
- integral_constant[link /reference/type_traits/integral_constant.md]
basic_vecが保持する要素数(「width」)を表す静的メンバ変数。
型はstd::integral_constantであり、その値が要素数を表す。
sizeはstd::integral_constantであるため、関数呼び出し演算子によってv.size()のように要素数を取得できるほか、v.sizeのように直接値としても参照できる。いずれもコンパイル時定数である。
#include <simd>
#include <print>
namespace simd = std::simd;
int main()
{
simd::vec<int, 4> v = 0;
// 関数呼び出しの形式で要素数を取得する
std::println("{}", v.size());
// コンパイル時定数として使える
static_assert(simd::vec<int, 4>::size() == 4);
}- v.size()[color ff0000]
4
- C++26
- Clang: 22 [mark noimpl]
- GCC: 16.1 [mark noimpl]
- Visual C++: 2026 Update 2 [mark noimpl]
- P1928R15 std::simd — merge data-parallel types from the Parallelism TS 2
- C++26で
std::simdが追加された
- C++26で