Template Class json_reverse_iterator

Inheritance Relationships

Base Type

  • public std::reverse_iterator< Base >

Class Documentation

template<typename Base>
class json_reverse_iterator : public std::reverse_iterator<Base>

a template for a reverse iterator class

@requirement The class satisfies the following concept requirements:

  • BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).

  • OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator).

Since

version 1.0.0

Template Parameters:

Base – the base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator).

Public Types

using difference_type = std::ptrdiff_t
using base_iterator = std::reverse_iterator<Base>
using reference = typename Base::reference

Public Functions

inline explicit *create reverse iterator from iterator json_reverse_iterator (const typename base_iterator::iterator_type &it) noexcept
inline *create reverse iterator from base class explicit json_reverse_iterator (const base_iterator &it) noexcept
inline *post increment (it++) json_reverse_iterator operator++(int) &
inline *pre increment (++it) json_reverse_iterator &operator++()
inline *post decrement (it--) json_reverse_iterator operator--(int) &
inline *pre decrement (--it) json_reverse_iterator &operator--()
inline *add to iterator json_reverse_iterator & operator+= (difference_type i)
inline *add to iterator json_reverse_iterator operator+ (difference_type i) const
inline *subtract from iterator json_reverse_iterator operator- (difference_type i) const
inline *return difference difference_type operator- (const json_reverse_iterator &other) const
inline *access to successor reference operator[] (difference_type n) const
inline *return the key of an object iterator auto key () const -> decltype(std::declval< Base >().key())
inline *return the value of an iterator reference value () const