Goby3 3.5.1
2026.06.04
Loading...
Searching...
No Matches
detail::json_reverse_iterator< Base > Class Template Reference

a template for a reverse iterator class More...

#include <goby/util/thirdparty/nlohmann/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>
using reference = typename Base::reference

Public Member Functions

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

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

Definition at line 14367 of file json.hpp.

Member Typedef Documentation

◆ base_iterator

template<typename Base>
using detail::json_reverse_iterator< Base >::base_iterator = std::reverse_iterator<Base>

Definition at line 14372 of file json.hpp.

◆ difference_type

template<typename Base>
using detail::json_reverse_iterator< Base >::difference_type = std::ptrdiff_t

Definition at line 14370 of file json.hpp.

◆ reference

template<typename Base>
using detail::json_reverse_iterator< Base >::reference = typename Base::reference

Definition at line 14374 of file json.hpp.

Constructor & Destructor Documentation

◆ json_reverse_iterator() [1/2]

template<typename Base>
*create reverse iterator from iterator detail::json_reverse_iterator< Base >::json_reverse_iterator ( const typename base_iterator::iterator_type & it)
inlineexplicitnoexcept

Definition at line 14377 of file json.hpp.

◆ json_reverse_iterator() [2/2]

template<typename Base>
*create reverse iterator from base class explicit detail::json_reverse_iterator< Base >::json_reverse_iterator ( const base_iterator & it)
inlinenoexcept

Definition at line 14381 of file json.hpp.

Member Function Documentation

◆ decrement() [1/2]

template<typename Base>
*pre detail::json_reverse_iterator< Base >::decrement ( -- it) &
inline

Definition at line 14401 of file json.hpp.

◆ decrement() [2/2]

template<typename Base>
*post detail::json_reverse_iterator< Base >::decrement ( it-- ) &
inline

Definition at line 14395 of file json.hpp.

◆ increment() [1/2]

template<typename Base>
*pre detail::json_reverse_iterator< Base >::increment ( ++ it) &
inline

Definition at line 14389 of file json.hpp.

◆ increment() [2/2]

template<typename Base>
*post detail::json_reverse_iterator< Base >::increment ( it++ ) &
inline

Definition at line 14383 of file json.hpp.

◆ key()

template<typename Base>
*return the key of an object iterator auto detail::json_reverse_iterator< Base >::key ( ) const->decltype(std::declval< Base >().key())
inline

Definition at line 14438 of file json.hpp.

◆ operator+()

template<typename Base>
*add to iterator json_reverse_iterator detail::json_reverse_iterator< Base >::operator+ ( difference_type i) const
inline

Definition at line 14414 of file json.hpp.

◆ operator+=()

template<typename Base>
*add to iterator json_reverse_iterator & detail::json_reverse_iterator< Base >::operator+= ( difference_type i)
inline

Definition at line 14408 of file json.hpp.

◆ operator-() [1/2]

template<typename Base>
*return difference difference_type detail::json_reverse_iterator< Base >::operator- ( const json_reverse_iterator< Base > & other) const
inline

Definition at line 14426 of file json.hpp.

◆ operator-() [2/2]

template<typename Base>
*subtract from iterator json_reverse_iterator detail::json_reverse_iterator< Base >::operator- ( difference_type i) const
inline

Definition at line 14420 of file json.hpp.

◆ operator[]()

template<typename Base>
*access to successor reference detail::json_reverse_iterator< Base >::operator[] ( difference_type n) const
inline

Definition at line 14432 of file json.hpp.

◆ value()

template<typename Base>
*return the value of an iterator reference detail::json_reverse_iterator< Base >::value ( ) const
inline

Definition at line 14445 of file json.hpp.


The documentation for this class was generated from the following file:
  • goby/util/thirdparty/nlohmann/json.hpp