nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >::json_reverse_iterator< Base > Class Template Reference

a template for a reverse iterator class More...

#include <json.hpp>

+ Inheritance diagram for nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >::json_reverse_iterator< Base >:
+ Collaboration diagram for nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >::json_reverse_iterator< Base >:

Public Types

using base_iterator = std::reverse_iterator< Base >
 shortcut to the reverse iterator adaptor
 
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
 
object_t::key_type key () const
 return the key of an object iterator
 
reference value () const
 return the value of an iterator
 

Detailed Description

template<template< typename U, typename V, typename...Args > class ObjectType = std::map, template< typename U, typename...Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator>
template<typename Base>
class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >::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).

The class satisfies the following concept requirements:

  • RandomAccessIterator: The iterator that can be moved to point (forward and backward) to any element in constant time.
  • OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator).
Since
version 1.0.0

The documentation for this class was generated from the following file:
  • /home/lemniscate/workspace/PFPSim/pfpsim/core/json.hpp