concat_view should be freestanding
Hewill Kang

Created on 2024-04-21.00:00:00 last changed 1 month ago


Date: 2024-05-08.10:36:29

Proposed resolution:

This wording is relative to N4981.

  1. Modify [version.syn] as indicated:

    #define __cpp_lib_ranges_concat 202403L // freestanding, also in <ranges>
  2. Modify [ranges.syn] as indicated:

    #include <compare>              // see [compare.syn]
    #include <initializer_list>     // see [initializer.list.syn]
    #include <iterator>             // see [iterator.synopsis]
    namespace std::ranges {
      // [range.concat], concat view
      template<input_range... Views>
        requires see below
      class concat_view;                                                                // freestanding
      namespace views { inline constexpr unspecified concat = unspecified; }            // freestanding
Date: 2024-05-15.00:00:00

[ 2024-05-08; Reflector poll ]

Set status to Tentatively Ready after seven votes in favour during reflector poll.

Date: 2024-04-15.00:00:00

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

Date: 2024-04-21.00:00:00

concat_view can be freestanding, but this never seems to come up in the discussion, which seems to be an oversight.

Date User Action Args
2024-05-08 10:36:29adminsetmessages: + msg14123
2024-05-08 10:36:29adminsetstatus: new -> ready
2024-04-21 15:11:11adminsetmessages: + msg14075
2024-04-21 15:11:11adminsetmessages: + msg14074
2024-04-21 00:00:00admincreate