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);
}
出力
3
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌