Ditto 4.8.0-rc.2
Loading...
Searching...
No Matches
detail::json_reverse_iterator< Base > Class Template Reference

a template for a reverse iterator class More...

#include <json.hpp>

Inheritance diagram for detail::json_reverse_iterator< Base >:

Public Types

using difference_type = std::ptrdiff_t
 
using base_iterator = std::reverse_iterator<Base>
 shortcut to the reverse iterator adapter
 
using reference = typename Base::reference
 the reference type for the pointed-to element
 

Public Member Functions

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

Detailed Description

template<typename Base>
class detail::json_reverse_iterator< Base >

a template for a reverse iterator class

Template Parameters
Basethe base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator).

@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