198 using iterator_type::difference_type;
199 using iterator_type::iterator_category;
200 using iterator_type::pointer;
201 using value_type = iterator_type::value_type;
254 iterator_type::operator=(r);
257 const_reverse_result_iterator &operator=(const_reverse_result_iterator &&r)
259 iterator_type::operator=(std::move(r));
262 const_reverse_result_iterator &operator++()
264 iterator_type::operator--();
267 const_reverse_result_iterator operator++(
int) &;
268 const_reverse_result_iterator &operator--()
270 iterator_type::operator++();
273 const_reverse_result_iterator operator--(
int) &;
274 const_reverse_result_iterator &operator+=(difference_type i)
276 iterator_type::operator-=(i);
279 const_reverse_result_iterator &operator-=(difference_type i)
281 iterator_type::operator+=(i);
285 void swap(const_reverse_result_iterator &other)
noexcept
287 const_result_iterator::swap(other);
295 [[nodiscard]] const_reverse_result_iterator
296 operator+(difference_type i)
const
298 return const_reverse_result_iterator(base() - i);
300 [[nodiscard]] const_reverse_result_iterator operator-(difference_type i)
302 return const_reverse_result_iterator(base() + i);
304 [[nodiscard]] difference_type
305 operator-(const_reverse_result_iterator
const &rhs)
const
307 return rhs.const_result_iterator::operator-(*this);
316 operator==(const_reverse_result_iterator
const &rhs)
const noexcept
318 return iterator_type::operator==(rhs);
321 operator!=(const_reverse_result_iterator
const &rhs)
const noexcept
323 return not operator==(rhs);
326 [[nodiscard]]
bool operator<(const_reverse_result_iterator
const &rhs)
const
328 return iterator_type::operator>(rhs);
330 [[nodiscard]]
bool operator<=(const_reverse_result_iterator
const &rhs)
const
332 return iterator_type::operator>=(rhs);
334 [[nodiscard]]
bool operator>(const_reverse_result_iterator
const &rhs)
const
336 return iterator_type::operator<(rhs);
338 [[nodiscard]]
bool operator>=(const_reverse_result_iterator
const &rhs)
const
340 return iterator_type::operator<=(rhs);