- simd[meta header]
- std::simd[meta namespace]
- basic_mask[meta class]
- function[meta id-type]
- cpp26[meta cpp]
constexpr unsigned long long to_ullong() const; // (1) C++26マスクの各要素をビットとする整数値をunsigned long long型で返す。第i要素が第iビットに対応する。
unsigned long longのビット幅をNとする。以下のいずれかを満たすこと。
size() <= Nである- すべての
i(N以上size()未満)について、operator[](i)がfalseを返す
*thisのビットに対応する整数値
投げない
#include <simd>
#include <print>
namespace simd = std::simd;
int main()
{
simd::vec<int, 4> a = [](int i) { return i; }; // {0, 1, 2, 3}
simd::mask<int, 4> m = (a < 2); // {true, true, false, false}
// 第0要素が最下位ビットに対応する(0b0011 == 3)
unsigned long long value = m.to_ullong();
std::println("{}", value);
}- simd::mask[link ../basic_mask.md]
- m.to_ullong()[color ff0000]
3
- C++26
- Clang: 22 [mark noimpl]
- GCC: 16.1 [mark noimpl]
- Visual C++: 2026 Update 2 [mark noimpl]