Scroll to navigation

std::common_iterator< _It, _Sent >(3cxx) 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 >)
constexpr common_iterator (common_iterator &&__x) noexcept(_S_noexcept< _It, _Sent >())
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>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> && equality_comparable_with<_It, _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.

Definition at line 1834 of file bits/iterator.

Constructor & Destructor Documentation

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::common_iterator () [inline], [constexpr], [noexcept]

Definition at line 1885 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::common_iterator (_It __i) [inline], [constexpr], [noexcept]

Definition at line 1892 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::common_iterator (_Sent __s) [inline], [constexpr], [noexcept]

Definition at line 1898 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> template<typename _It2 , typename _Sent2 >

requires convertible_to<const _It2&, _It> && convertible_to<const _Sent2&, _Sent>constexpr std::common_iterator< _It, _Sent >::common_iterator (const common_iterator< _It2, _Sent2 > & __x) [inline], [constexpr], [noexcept]"

Definition at line 1907 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::common_iterator (const common_iterator< _It, _Sent > & __x) [inline], [constexpr], [noexcept]

Definition at line 1929 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::common_iterator (common_iterator< _It, _Sent > && __x) [inline], [constexpr], [noexcept]

Definition at line 1950 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr std::common_iterator< _It, _Sent >::~common_iterator () [inline], [constexpr]

Definition at line 2021 of file bits/iterator.

Member Function Documentation

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr decltype(auto) std::common_iterator< _It, _Sent >::operator* () [inline], [constexpr]

Definition at line 2031 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr decltype(auto) std::common_iterator< _It, _Sent >::operator* () const [inline], [constexpr]

Definition at line 2039 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr common_iterator & std::common_iterator< _It, _Sent >::operator++ () [inline], [constexpr]

Definition at line 2062 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr decltype(auto) std::common_iterator< _It, _Sent >::operator++ (int) [inline], [constexpr]

Definition at line 2070 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr auto std::common_iterator< _It, _Sent >::operator-> () const [inline], [constexpr]

Definition at line 2047 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr common_iterator & std::common_iterator< _It, _Sent >::operator= (common_iterator< _It, _Sent > && __x) [inline], [constexpr], [noexcept]

Definition at line 1991 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr common_iterator & std::common_iterator< _It, _Sent >::operator= (const common_iterator< _It, _Sent > & __x) [inline], [constexpr], [noexcept]

Definition at line 1975 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _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 & std::common_iterator< _It, _Sent >::operator= (const common_iterator< _It2, _Sent2 > & __x) [inline], [constexpr], [noexcept]"

Definition at line 2009 of file bits/iterator.

Friends And Related Function Documentation

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> template<input_or_output_iterator _It2, sentinel_for< _It2 > _Sent2> friend class common_iterator [friend]

Definition at line 2182 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> constexpr iter_rvalue_reference_t< _It > iter_move (const common_iterator< _It, _Sent > & __i) [friend]

Definition at line 2159 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> template<indirectly_swappable< _It > _It2, typename _Sent2 > constexpr void iter_swap (const common_iterator< _It, _Sent > & __x, const common_iterator< _It2, _Sent2 > & __y) [friend]

Definition at line 2169 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> 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< _It, _Sent > & __x, const common_iterator< _It2, _Sent2 > & __y) [friend]"

Definition at line 2137 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> template<typename _It2 , sentinel_for< _It > _Sent2>

requires sentinel_for<_Sent, _It2>constexpr bool operator== (const common_iterator< _It, _Sent > & __x, const common_iterator< _It2, _Sent2 > & __y) [friend]"

Definition at line 2092 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> template<typename _It2 , sentinel_for< _It > _Sent2>

requires sentinel_for<_Sent, _It2> && equality_comparable_with<_It, _It2>constexpr bool operator== (const common_iterator< _It, _Sent > & __x, const common_iterator< _It2, _Sent2 > & __y) [friend]"

Definition at line 2114 of file bits/iterator.

Member Data Documentation

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> _It std::common_iterator< _It, _Sent >::_M_it

Definition at line 2218 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> _Sent std::common_iterator< _It, _Sent >::_M_sent

Definition at line 2219 of file bits/iterator.

template<input_or_output_iterator _It, sentinel_for< _It > _Sent> unsigned char std::common_iterator< _It, _Sent >::_M_valueless

Definition at line 2220 of file bits/iterator.

Author

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

Sun Jan 8 2023 libstdc++