concat_view
should be freestandingSection: 17.3.2 [version.syn] Status: WP Submitter: Hewill Kang Opened: 2024-04-21 Last modified: 2024-07-08
Priority: Not Prioritized
View other active issues in [version.syn].
View all other issues in [version.syn].
View all issues with WP status.
Discussion:
concat_view
can be freestanding, but this never seems to come up in the discussion,
which seems to be an oversight.
[2024-04-21; Daniel comments]
The specification of some member functions of concat_view
seem to depend on freestanding-deleted
get
overloads for variant
, but so does join_with_view
, which is marked as freestanding,
so it does not seem to be a good reason to accept join_with_view
but not concat_view
as freestanding.
[2024-05-08; Reflector poll]
Set status to Tentatively Ready after seven votes in favour during reflector poll.
[St. Louis 2024-06-29; Status changed: Voting → WP.]
Proposed resolution:
This wording is relative to N4981.
Modify 17.3.2 [version.syn] as indicated:
#define __cpp_lib_ranges_concat 202403L // freestanding, also in <ranges>
Modify 25.2 [ranges.syn] as indicated:
#include <compare> // see 17.11.1 [compare.syn] #include <initializer_list> // see 17.10.2 [initializer.list.syn] #include <iterator> // see 24.2 [iterator.synopsis] namespace std::ranges { […] // 25.7.18 [range.concat], concat view template<input_range... Views> requires see below class concat_view; // freestanding namespace views { inline constexpr unspecified concat = unspecified; } // freestanding […] }