- simd[meta header]
- std::simd[meta namespace]
- basic_mask[meta class]
- function[meta id-type]
- cpp26[meta cpp]
constexpr default_sentinel_t end() const noexcept; // (1) C++26- default_sentinel_t[link /reference/iterator/default_sentinel_t.md]
イテレータの終端を表す番兵(std::default_sentinel_t)を取得する。
投げない
#include <simd>
#include <print>
#include <ranges>
namespace simd = std::simd;
int main()
{
simd::mask<int, 4> m = [](int i) { return i % 2 == 0; }; // {true, false, true, false}
for (auto it = m.begin(); it != m.end(); ++it) {
std::print("{} ", *it);
}
std::println("");
}- simd::mask[link ../basic_mask.md]
- m.begin()[link begin.md]
- m.end()[color ff0000]
true false true false
- 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で追加された
- P3480R6
std::simdis a range- イテレータを追加し、Rangeとして扱えるようになった