JSON for Modern C++ 2.1.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
nlohmann::basic_json::iter_impl< U > Class Template Reference

a template for a random access iterator for the basic_json class More...

#include <json.hpp>

Public Types

using difference_type = typename basic_json::difference_type
 a type to represent differences between iterators
 
using iterator_category = std::bidirectional_iterator_tag
 the category of the iterator
 
using pointer = typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type
 defines a pointer to the type iterated over (value_type)
 
using reference = typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type
 defines a reference to the type iterated over (value_type)
 
using value_type = typename basic_json::value_type
 the type of the values when the iterator is dereferenced
 

Public Member Functions

 iter_impl ()=default
 default constructor
 
 iter_impl (const iter_impl &other) noexcept
 copy constructor
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance
 
object_t::key_type key () const
 return the key of an object iterator
 
 operator const_iterator () const
 
bool operator!= (const iter_impl &other) const
 comparison: not equal
 
reference operator* () const
 return a reference to the value pointed to by the iterator
 
iter_impl operator+ (difference_type i)
 add to iterator
 
iter_imploperator++ ()
 pre-increment (++it)
 
iter_impl operator++ (int)
 post-increment (it++)
 
iter_imploperator+= (difference_type i)
 add to iterator
 
difference_type operator- (const iter_impl &other) const
 return difference
 
iter_impl operator- (difference_type i)
 subtract from iterator
 
iter_imploperator-- ()
 pre-decrement (–it)
 
iter_impl operator-- (int)
 post-decrement (it–)
 
iter_imploperator-= (difference_type i)
 subtract from iterator
 
pointer operator-> () const
 dereference the iterator
 
bool operator< (const iter_impl &other) const
 comparison: smaller
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal
 
iter_imploperator= (iter_impl other) noexcept(std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value)
 copy assignment
 
bool operator== (const iter_impl &other) const
 comparison: equal
 
bool operator> (const iter_impl &other) const
 comparison: greater than
 
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal
 
reference operator[] (difference_type n) const
 access to successor
 
reference value () const
 return the value of an iterator
 

Friends

class basic_json
 allow basic_json to access private members
 

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 T, typename SFINAE=void > class JSONSerializer = adl_serializer>
template<typename U>
class nlohmann::basic_json::iter_impl< U >

This class implements a both iterators (iterator and const_iterator) for the basic_json class.

Note
An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.
Requirements\n 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.
Since
version 1.0.0, simplified in version 2.0.9

Definition at line 8837 of file json.hpp.