|
template<typename I2 , typename S2 > |
requires convertible_to< I2, I > &&convertible_to< S2, S > | common_iterator (common_iterator< I2, S2 > const &that) |
|
| common_iterator (I i) |
|
| common_iterator (S s) |
|
auto | operator* () const noexcept(noexcept(iter_reference_t< I >(*std::declval< I const & >()))) -> iter_reference_t< I > requires ` indirectly_readable< I const > ` |
|
iter_reference_t< I > | operator* () noexcept(noexcept(iter_reference_t< I >(*std::declval< I & >()))) |
|
common_iterator & | operator++ () |
|
auto | operator++ (int) -> common_iterator requires ` forward_iterator< I > ` |
|
auto | operator++ (int) -> decltype(std::declval< I & >()++) requires `(!forward_iterator< I >) ` |
|
template<typename J = I> |
requires indirectly_readable< J > auto | operator-> () const noexcept(noexcept(common_iterator::operator_arrow_(std::declval< I const & >(), 42))) -> decltype(common_iterator::operator_arrow_(std::declval< J const & >(), 42)) |
|
template<typename I2 , typename S2 > |
requires convertible_to< I2, I > &&convertible_to< S2, S > common_iterator & | operator= (common_iterator< I2, S2 > const &that) |
|