Date
2025-01-25.13:30:23
Message id
14534

Content

`cache_latest_view` can be freestanding, but this never comes up in the discussion, which seems to be an oversight.

This wording is relative to N5001.

  1. Modify [version.syn] as indicated:

    #define __cpp_lib_ranges_cache_latest 202411L // 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.cache.latest], cache latest view
      template<input_range V>
        requires view<V>
      class cache_latest_view;                                                                // freestanding
      
      namespace views { inline constexpr unspecified cache_latest = unspecified; }            // freestanding
      […]
    }