std::common_iterator< _It, _Sent > Class Template Reference
Iterators

`#include <stl_iterator.h>`

## 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>
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 1856 of file bits/stl_iterator.h.

## Constructor & Destructor Documentation

## common_iterator() [1/6]

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

constexpr std::common_iterator< _It, _Sent >::common_iterator | ( |  | ) |

inline constexpr noexcept

Definition at line 1907 of file bits/stl_iterator.h.

## common_iterator() [2/6]

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 1914 of file bits/stl_iterator.h.

## common_iterator() [3/6]

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 1920 of file bits/stl_iterator.h.

## common_iterator() [4/6]

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 1929 of file bits/stl_iterator.h.

## common_iterator() [5/6]

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 1953 of file bits/stl_iterator.h.

## common_iterator() [6/6]

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 1977 of file bits/stl_iterator.h.

## ~common_iterator()

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

constexpr std::common_iterator< _It, _Sent >::~common_iterator | ( |  | ) |

inline constexpr

Definition at line 2052 of file bits/stl_iterator.h.

## Member Function Documentation

## operator*() [1/2]

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

constexpr decltype(auto) std::common_iterator< _It, _Sent >::operator* | ( |  | ) |

inline constexpr

Definition at line 2068 of file bits/stl_iterator.h.

## operator*() [2/2]

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 2076 of file bits/stl_iterator.h.

## operator++() [1/2]

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

constexpr common_iterator & std::common_iterator< _It, _Sent >::operator++ | ( |  | ) |

inline constexpr

Definition at line 2099 of file bits/stl_iterator.h.

## operator++() [2/2]

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 2107 of file bits/stl_iterator.h.

## operator->()

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

constexpr auto std::common_iterator< _It, _Sent >::operator-> | ( |  | ) | const

inline constexpr

Definition at line 2084 of file bits/stl_iterator.h.

## operator=() [1/3]

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 2019 of file bits/stl_iterator.h.

## operator=() [2/3]

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 2003 of file bits/stl_iterator.h.

## operator=() [3/3]

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 2037 of file bits/stl_iterator.h.

## Friends And Related Symbol Documentation

## common_iterator

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 2219 of file bits/stl_iterator.h.

## iter_move

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 2196 of file bits/stl_iterator.h.

## iter_swap

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 2206 of file bits/stl_iterator.h.

## operator-

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 2174 of file bits/stl_iterator.h.

## operator== [1/2]

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 2129 of file bits/stl_iterator.h.

## operator== [2/2]

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 2151 of file bits/stl_iterator.h.

## Member Data Documentation

## _M_it

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

_It std::common_iterator< _It, _Sent >::_M_it

Definition at line 2255 of file bits/stl_iterator.h.

## _M_sent

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

_Sent std::common_iterator< _It, _Sent >::_M_sent

Definition at line 2256 of file bits/stl_iterator.h.

## _M_valueless

template<input_or_output_iterator _It, sentinel_for< _It > _Sent>

unsigned char std::common_iterator< _It, _Sent >::_M_valueless

Definition at line 2257 of file bits/stl_iterator.h.

The documentation for this class was generated from the following file:

- bits/stl_iterator.h