std::common_iterator< _It, _Sent >(3cxx)

NAME
std::common_iterator< _It, _Sent > - An iterator/sentinel adaptor for representing a non-common range.

SYNOPSIS

#include <iterator>

  Public Member Functions

constexpr common_iterator (_It __i) noexcept(is_nothrow_move_constructible_v< _It >)
constexpr common_iterator (_Sent __s) noexcept(is_nothrow_move_constructible_v< _Sent >)
common_iterator (common_iterator &&)=default
constexpr common_iterator (common_iterator &&__x) noexcept(_S_noexcept< _It, _Sent >())
common_iterator (const common_iterator &)=default
constexpr common_iterator (const common_iterator &__x) noexcept(_S_noexcept< const _It &, const _Sent & >())
template<typename _It2, typename _Sent2>
requires convertible_to<const _It2&, _It> && convertible_to<const _Sent2&, _Sent>constexpr common_iterator (const common_iterator< _It2, _Sent2 > &__x) noexcept(_S_noexcept< const _It2 &, const _Sent2 & >())"
constexpr decltype(auto) operator* ()
constexpr decltype(auto) operator* () const
constexpr common_iterator & operator++ ()
constexpr decltype(auto) operator++ (int)
constexpr auto operator-> () const
constexpr common_iterator & operator= (common_iterator &&)=default
constexpr common_iterator & operator= (common_iterator &&__x) noexcept(is_nothrow_move_assignable_v< _It > &&is_nothrow_move_assignable_v< _Sent > &&is_nothrow_move_constructible_v< _It > &&is_nothrow_move_constructible_v< _Sent >)
constexpr common_iterator & operator= (const common_iterator &)=default
constexpr common_iterator & operator= (const common_iterator &__x) noexcept(is_nothrow_copy_assignable_v< _It > &&is_nothrow_copy_assignable_v< _Sent > &&is_nothrow_copy_constructible_v< _It > &&is_nothrow_copy_constructible_v< _Sent >)
template<typename _It2, typename _Sent2>
requires convertible_to<const _It2&, _It> && convertible_to<const _Sent2&, _Sent> && assignable_from<_It&, const _It2&> && assignable_from<_Sent&, const _Sent2&>constexpr common_iterator & operator= (const common_iterator< _It2, _Sent2 > &__x) noexcept(is_nothrow_constructible_v< _It, const _It2 & > &&is_nothrow_constructible_v< _Sent, const _Sent2 & > &&is_nothrow_assignable_v< _It &, const _It2 & > &&is_nothrow_assignable_v< _Sent &, const _Sent2 & >)"

  Friends

constexpr iter_rvalue_reference_t< _It > iter_move (const common_iterator &__i) noexcept(noexcept(ranges::iter_move(std::declval< const _It & >())))
template<indirectly_swappable< _It > _It2, typename _Sent2> constexpr void iter_swap (const common_iterator &__x, const common_iterator< _It2, _Sent2 > &__y) noexcept(noexcept(ranges::iter_swap(std::declval< const _It & >(), std::declval< const _It2 & >())))
template<sized_sentinel_for< _It > _It2, sized_sentinel_for< _It > _Sent2>
requires sized_sentinel_for<_Sent, _It2>constexpr iter_difference_t< _It2 > operator- (const common_iterator &__x, const common_iterator< _It2, _Sent2 > &__y)"
template<typename _It2, sentinel_for< _It > _Sent2>
requires sentinel_for<_Sent, _It2> && equality_comparable_with<_It, _It2>constexpr bool operator== (const common_iterator &__x, const common_iterator< _It2, _Sent2 > &__y)"
template<typename _It2, sentinel_for< _It > _Sent2>
requires sentinel_for<_Sent, _It2>constexpr bool operator== (const common_iterator &__x, const common_iterator< _It2, _Sent2 > &__y)"

Detailed Description

  template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
requires (!same_as<_It, _Sent>) && copyable<_It>
class std::common_iterator< _It, _Sent >"An iterator/sentinel adaptor for representing a non-common range.

Author

Generated automatically by Doxygen for libstdc++ from the source code.