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

Created on 2024-08-02.00:00:00 last changed 3 months ago

Messages

Date: 2024-08-21.19:46:50

Proposed resolution:

This wording is relative to N4986.

  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> ([array.syn]), <deque> ([deque.syn]), <flat_map> ([flat.map.syn]), <flat_set> ([flat.set.syn]), <forward_list> ([forward.list.syn]), <inplace_vector> ([inplace.vector.syn]), <list> ([list.syn]), <map> ([associative.map.syn]), <optional> ([optional.syn]), <regex> ([re.syn]), <set> ([associative.set.syn]), <span> ([span.syn]), <string> ([string.syn]), <string_view> ([string.view.synop]), <unordered_map> ([unord.map.syn]), <unordered_set> ([unord.set.syn]), and <vector> ([vector.syn]).

Date: 2024-08-15.00:00:00

[ 2024-08-21; Reflector poll ]

Set priority to 3 after reflector poll.

"I would like to hear opinion of P3168 authors, or have the change discussed as a part of P3016.

Date: 2024-08-02.00:00:00

Since optional now provides begin/end members, it is reasonable to ensure the validity of std::begin/end after including <optional>.

History
Date User Action Args
2024-08-21 19:46:50adminsetmessages: + msg14338
2024-08-03 07:46:03adminsetmessages: + msg14306
2024-08-02 00:00:00admincreate