Title
Should <stacktrace> provide range access function templates?
Status
new
Section
[stacktrace.syn][iterator.range]
Submitter
Jiang An

Created on 2021-10-23.00:00:00 last changed 1 month ago

Messages

Date: 2021-10-24.11:33:49

Proposed resolution:

This wording is relative to N4901.

[Drafting note: The proposed wording below contains one conditional change, it is therefore depending upon a decision]

  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]), <forward_list> ([forward.list.syn]), <list> ([list.syn]), <map> ([associative.map.syn]), <regex> ([re.syn]), <set> ([associative.set.syn]), <span> ([span.syn]), <stacktrace> ([stacktrace.syn]), <string> ([string.syn]), <string_view> ([string.view.synop]), <unordered_map> ([unord.map.syn]), <unordered_set> ([unord.set.syn]), and <vector> ([vector.syn]). […]

  2. If we decide that <initializer_list> should be included if the header has dependency on std::initializer_list (it may be introduce by std::rbegin, std::data, etc.), #include <initializer_list> should also be added to [stacktrace.syn].

Date: 2021-10-15.00:00:00

[ 2021-10-24; Daniel comments ]

This issue is related to LWG 3624.

Date: 2021-10-23.00:00:00

Range access function templates ([iterator.range]) are available in every standard header for containers. As std::basic_stacktrace provides some container-like interfaces (member functions begin, end, size, etc.), should we add these free function templates to <stacktrace> for consistency?

History
Date User Action Args
2021-10-24 11:33:49adminsetmessages: + msg12195
2021-10-24 11:33:49adminsetmessages: + msg12194
2021-10-23 00:00:00admincreate