libstdc++: std::common_iterator< _It, _Sent > Class Template Reference (original) (raw)
#include <[stl_iterator.h](a17942%5Fsource.html)>
| 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) |
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 1845 of file bits/stl_iterator.h.
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ common_iterator() [2/6]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ common_iterator() [3/6]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ 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>
◆ common_iterator() [5/6]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ common_iterator() [6/6]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ ~common_iterator()
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator*() [1/2]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator*() [2/2]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator++() [1/2]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator++() [2/2]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator->()
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator=() [1/3]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ operator=() [2/3]
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ 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&>
◆ common_iterator
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
template<input_or_output_iterator _It2, sentinel_for< _It2 > _Sent2>
◆ 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 |
|---|
◆ iter_swap
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
template<indirectly_swappable< _It > _It2, typename _Sent2 >
◆ 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>
◆ 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>
◆ 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>
◆ _M_it
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ _M_sent
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
◆ _M_valueless
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
The documentation for this class was generated from the following file: