Title
Including <simd> doesn't provide `std::begin/end`
Status
new
Section
[iterator.range]
Submitter
Hewill Kang

Created on 2025-09-26.00:00:00 last changed 1 month ago

Messages

Date: 2025-10-17.14:34:50

Proposed resolution:

This wording is relative to N5014.

  1. Modify [iterator.range] as indicated:

    -1- In addition to being available via inclusion of the <iterator> header, the function templates in [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>.

Date: 2025-10-15.00:00:00

[ 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."

Date: 2025-09-26.00:00:00

`std::simd::basic_vec` and `std::simd::basic_mask` are ranges since P3480R6, it is reasonable to enable range access utilities when introducing <simd>.

History
Date User Action Args
2025-10-17 14:34:50adminsetmessages: + msg15230
2025-09-27 08:59:39adminsetmessages: + msg15088
2025-09-26 00:00:00admincreate