43template<
typename Base>
115 auto key() const -> decltype(
std::declval<Base>().
key())
117 auto it = --this->base();
124 auto it = --this->base();
125 return it.operator * ();
#define WPI_JSON_NAMESPACE_END
Definition: abi_macros.h:59
#define WPI_JSON_NAMESPACE_BEGIN
Definition: abi_macros.h:53
a template for a reverse iterator class
Definition: json_reverse_iterator.h:45
json_reverse_iterator operator++(int) &
post-increment (it++)
Definition: json_reverse_iterator.h:61
json_reverse_iterator operator--(int) &
post-decrement (it–)
Definition: json_reverse_iterator.h:73
json_reverse_iterator & operator++()
pre-increment (++it)
Definition: json_reverse_iterator.h:67
std::ptrdiff_t difference_type
Definition: json_reverse_iterator.h:47
json_reverse_iterator & operator+=(difference_type i)
add to iterator
Definition: json_reverse_iterator.h:85
reference operator[](difference_type n) const
access to successor
Definition: json_reverse_iterator.h:109
auto key() const -> decltype(std::declval< Base >().key())
return the key of an object iterator
Definition: json_reverse_iterator.h:115
difference_type operator-(const json_reverse_iterator &other) const
return difference
Definition: json_reverse_iterator.h:103
typename Base::reference reference
the reference type for the pointed-to element
Definition: json_reverse_iterator.h:51
reference value() const
return the value of an iterator
Definition: json_reverse_iterator.h:122
json_reverse_iterator(const base_iterator &it) noexcept
create reverse iterator from base class
Definition: json_reverse_iterator.h:58
json_reverse_iterator & operator--()
pre-decrement (–it)
Definition: json_reverse_iterator.h:79
std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adapter
Definition: json_reverse_iterator.h:49
json_reverse_iterator operator-(difference_type i) const
subtract from iterator
Definition: json_reverse_iterator.h:97
json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
create reverse iterator from iterator
Definition: json_reverse_iterator.h:54
json_reverse_iterator operator+(difference_type i) const
add to iterator
Definition: json_reverse_iterator.h:91
detail namespace with internal helper functions
Definition: xchar.h:20
unit_t< Units, T, NonLinearScale > & operator+=(unit_t< Units, T, NonLinearScale > &lhs, const RhsType &rhs) noexcept
Definition: base.h:2281
unit_t< Units, T, NonLinearScale > & operator++(unit_t< Units, T, NonLinearScale > &u) noexcept
Definition: base.h:2335
unit_t< Units, T, NonLinearScale > & operator--(unit_t< Units, T, NonLinearScale > &u) noexcept
Definition: base.h:2359
constexpr unit_t< Units, T, NonLinearScale > operator-(const unit_t< Units, T, NonLinearScale > &u) noexcept
Definition: base.h:2352
constexpr unit_t< Units, T, NonLinearScale > operator+(const unit_t< Units, T, NonLinearScale > &u) noexcept
Definition: base.h:2328