33 template<
typename Base>
34 class json_reverse_iterator :
public std::reverse_iterator<Base>
37 using difference_type = std::ptrdiff_t;
105 auto key() const -> decltype(std::declval<Base>().
key())
107 auto it = --this->base();
114 auto it = --this->base();
115 return it.operator * ();
a template for a reverse iterator class
Definition: json_reverse_iterator.hpp:35
json_reverse_iterator operator+(difference_type i) const
add to iterator
Definition: json_reverse_iterator.hpp:81
auto key() const -> decltype(std::declval< Base >().key())
return the key of an object iterator
Definition: json_reverse_iterator.hpp:105
namespace for Niels Lohmann
Definition: adl_serializer.hpp:9
json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
create reverse iterator from iterator
Definition: json_reverse_iterator.hpp:44
json_reverse_iterator & operator+=(difference_type i)
add to iterator
Definition: json_reverse_iterator.hpp:75
reference value() const
return the value of an iterator
Definition: json_reverse_iterator.hpp:112
reference operator[](difference_type n) const
access to successor
Definition: json_reverse_iterator.hpp:99
json_reverse_iterator const operator--(int)
post-decrement (it–)
Definition: json_reverse_iterator.hpp:63
json_reverse_iterator const operator++(int)
post-increment (it++)
Definition: json_reverse_iterator.hpp:51
typename Base::reference reference
the reference type for the pointed-to element
Definition: json_reverse_iterator.hpp:41
json_reverse_iterator operator-(difference_type i) const
subtract from iterator
Definition: json_reverse_iterator.hpp:87
json_reverse_iterator & operator++()
pre-increment (++it)
Definition: json_reverse_iterator.hpp:57
difference_type operator-(const json_reverse_iterator &other) const
return difference
Definition: json_reverse_iterator.hpp:93
GAL_LAYER_ID operator+(const GAL_LAYER_ID &a, int b)
Used for via types.
Definition: layers_id_colors_and_visibility.h:222
std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adapter
Definition: json_reverse_iterator.hpp:39
json_reverse_iterator & operator--()
pre-decrement (–it)
Definition: json_reverse_iterator.hpp:69
json_reverse_iterator(const base_iterator &it) noexcept
create reverse iterator from base class
Definition: json_reverse_iterator.hpp:48