Public Member Functions | |
template<typename OtherCur > requires (!same_as<OtherCur, Cur>) && convertible_to<OtherCur, Cur> && constructible_from<mixin_t, OtherCur> | |
constexpr | basic_iterator (basic_iterator< OtherCur > that) |
basic_iterator (Cur &&cur) | |
basic_iterator (Cur const &cur) | |
constexpr auto | operator* () const noexcept(noexcept(const_reference_t{std::declval< Cur const & >()})) -> const_reference_t |
constexpr auto | operator* () const noexcept(noexcept(range_access::read(std::declval< Cur const & >()))) -> const_reference_t |
constexpr auto | operator* () noexcept -> basic_iterator & |
constexpr auto | operator* () noexcept(noexcept(iter_reference_t{std::declval< Cur & >()})) -> iter_reference_t |
constexpr auto | operator++ () -> basic_iterator & |
constexpr auto | operator++ () noexcept -> basic_iterator & |
constexpr auto | operator++ (int) |
constexpr auto | operator+= (difference_type n) -> basic_iterator & |
constexpr auto | operator-- () -> basic_iterator & |
constexpr auto | operator-- (int) -> basic_iterator |
constexpr auto | operator-= (difference_type n) -> basic_iterator & |
template<typename C = Cur> requires (!detail::has_cursor_arrow<C>) && detail::readable_cursor<C> && std::is_lvalue_reference<const_reference_t> | |
::value &&same_as< typename detail::iterator_associated_types_base< C >::value_type, uncvref_t< const_reference_t > > constexpr std::add_pointer_t< const_reference_t > | operator-> () const noexcept(noexcept(*std::declval< basic_iterator const & >())) |
template<typename C = Cur> requires detail::has_cursor_arrow<C> | |
constexpr detail::cursor_arrow_t< C > | operator-> () const noexcept(noexcept(range_access::arrow(std::declval< C const & >()))) |
template<typename OtherCur > requires (!same_as<OtherCur, Cur>) && convertible_to<OtherCur, Cur> | |
constexpr basic_iterator & | operator= (basic_iterator< OtherCur > that) |
constexpr auto | operator[] (difference_type n) const -> const_reference_t |
Friends | |
template<typename C = Cur> requires same_as<C, Cur> && detail::input_cursor<Cur> | |
constexpr auto | iter_move (basic_iterator const &it) noexcept(noexcept(range_access::move(std::declval< C const & >()))) -> decltype(range_access::move(std::declval< C const & >())) |