33 template<
typename Base>
34 class json_reverse_iterator :
public std::reverse_iterator<Base>
37 using difference_type = std::ptrdiff_t;
41 using reference =
typename Base::reference;
105 auto key() const -> decltype(std::declval<Base>().
key())
107 auto it = --this->base();
114 auto it = --this->base();
115 return it.operator * ();
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
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
GAL_LAYER_ID operator+(const GAL_LAYER_ID &a, int b)
Used for via types.
Definition: layers_id_colors_and_visibility.h:222
json_reverse_iterator & operator++()
pre-increment (++it)
Definition: json_reverse_iterator.hpp:57
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