- simd[meta header]
- std::simd[meta namespace]
- basic_vec[meta class]
- function[meta id-type]
- cpp26[meta cpp]
constexpr default_sentinel_t end() const noexcept;- default_sentinel_t[link /reference/iterator/default_sentinel_t.md]
末尾を表す番兵を取得する。
basic_vecはbegin/endを備えることで、要素を走査できるRangeとして扱える。要素数は静的に決まるため、末尾は番兵std::default_sentinel_tで表される。
投げない
#include <simd>
#include <print>
namespace simd = std::simd;
int main()
{
simd::vec<int, 4> v([](int i) { return i + 1; }); // {1, 2, 3, 4}
for (auto it = v.begin(); it != v.end(); ++it) {
std::print("{} ", *it);
}
std::println("");
}- v.end()[color ff0000]
- v.begin()[link begin.md]
1 2 3 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で
- P3480R6
std::simdis a range- イテレータを追加し、Rangeとして扱えるようになった