Date
2022-11-17.00:42:33
Message id
13092

Content

Proposed resolution:

This wording is relative to n4917.

  1. Modify [view.interface.general] as indicated:

    namespace std::ranges {
      template<class D>
        requires is_class_v<D> && same_as<D, remove_cv_t<D>>
      class view_interface {
        […]
      public:
        […]
        constexpr auto cbegin() requires input_range<D> {
          return ranges::cbegin(derived());
        }
        constexpr auto cbegin() const requires input_range<const D> {
          return ranges::cbegin(derived());
        }
        constexpr auto cend() requires input_range<D> {
          return ranges::cend(derived());
        }
        constexpr auto cend() const requires input_range<const D> {
          return ranges::cend(derived());
        }
        […]
      };
    }