This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Open status.

4387. Including <stacktrace> doesn't provide std::begin/end

Section: 24.7 [iterator.range] Status: Open Submitter: Hewill Kang Opened: 2025-09-27 Last modified: 2025-10-20

Priority: 3

View other active issues in [iterator.range].

View all other issues in [iterator.range].

View all issues with Open status.

Discussion:

basic_stacktrace is explicitly specified as a reversible container, an allocator-aware container, and a const-qualified sequence container, with members begin/end, rbegin/rend, cbegin/cend, crbegin/crend, empty, size, etc.

Thus, it's worth making the corresponding free functions available when introducing <stacktrace>, just like other containers.

[2025-10-07; Reflector poll]

Approved as Tentatively Ready, but this is a duplicate of 3625(i) which will be resolved by P3016R6. So move Status New → Open.

[2025-10-20; Set to same priority as 3625(i) (i.e. P3).]

Proposed resolution:

This wording is relative to N5014.

  1. 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>, <span>, <stacktrace>, <string>, <string_view>, <unordered_map>, <unordered_set>, and <vector>.