std::ranges::take_while_view::begin(3)

NAME
std::ranges::take_while_view::begin - std::ranges::take_while_view::begin

Synopsis
   constexpr auto begin() requires (!__SimpleView<V>); (1) (since C++20)
   constexpr auto begin() const requires
       ranges::range<const V> && (2) (since C++20)
       std::indirect_unary_predicate<const Pred,
   ranges::iterator_t<const V>>;
   Returns an iterator to the first element of the view. Effectively calls
   ranges::begin on 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
   ranges::begin(base_), where base_ is the underlying 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 an iterator constrained
                       non-comparable to the sentinel

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

Category:
     * Todo no example