std::ranges::take_while_view::end(3)

NAME
std::ranges::take_while_view::end - std::ranges::take_while_view::end

Synopsis
   constexpr auto end() requires (!__SimpleView<V>); (1) (since C++20)
   constexpr auto end() const requires
   ranges::range<const V> && (2) (since C++20)
   std::indirect_unary_predicate<const Pred, ranges::iterator_t<const
   V>>;
   Returns a sentinel representing the end of the view.
   1) Effectively returns /*sentinel*/<false>(ranges::end(base_),
   std::addressof(pred())), where base_ denotes the underlying view.
   2) Effectively returns /*sentinel*/<true>(ranges::end(base_),
   std::addressof(pred())), where base_ denotes the underlying view.
   Overload (1) does not participate in overload resolution if V is a simple view (that
   is, if V and const V are views with the same iterator and sentinel types).

Parameters
   (none)

Return value
   sentinel representing the end of the view.

Example
    This section is incomplete
    Reason: no example
  Defect reports
   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.
      DR Applied to Behavior as published Correct behavior
   LWG 3450 C++20 the const overload might return a sentinel constrained
                       non-comparable to the iterator

See also
   begin returns an iterator to the beginning
   (C++20) (public member function)
   operator== compares a sentinel with an iterator returned from take_while_view::begin
   (C++20) (function)