This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
<simd> doesn't provide std::begin/end
Section: 24.7 [iterator.range] Status: New Submitter: Hewill Kang Opened: 2025-09-26 Last modified: 2025-10-17
Priority: 3
View other active issues in [iterator.range].
View all other issues in [iterator.range].
View all issues with New status.
Discussion:
std::simd::basic_vec and std::simd::basic_mask are ranges since P3480R6,
it is reasonable to enable range access utilities when introducing <simd>.
[2025-10-17; Reflector poll.]
Set priority to 3 after reflector poll.
"This will be the first time we add the free-function begn/end interface to support a type where end returns a sentinel.
I would not want to set precedent here without at least taking the time to think about it, and acknowledge a deliberate intent."
"The intent has been deliberate since P0184R0."
Proposed resolution:
This wording is relative to N5014.
Modify 24.7 [iterator.range] as indicated:
-1- In addition to being available via inclusion of the
<iterator>header, the function templates in 24.7 [iterator.range] are available when any of the following headers are included:<array>,<deque>,<flat_map>,<flat_set>,<forward_list>,<hive>,<inplace_vector>,<list>,<map>,<regex>,<set>,<simd>,<span>,<string>,<string_view>,<unordered_map>,<unordered_set>, and<vector>.