JSON for Modern C++ 2.1.1

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 More...
using | iterator_category = std::bidirectional_iterator_tag
| the category of the iterator More...
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) More...
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) More...
using | value_type = typename basic_json::value_type
| the type of the values when the iterator is dereferenced More...

## Public Member Functions
| iter_impl ()=default
| default constructor More...
| iter_impl (pointer object) noexcept
| constructor for a given JSON instance More...
| iter_impl (const iter_impl &other) noexcept
| copy constructor More...
object_t::key_type | key () const
| return the key of an object iterator More...
| operator const_iterator () const
bool | operator!= (const iter_impl &other) const
| comparison: not equal More...
reference | operator* () const
| return a reference to the value pointed to by the iterator More...
iter_impl | operator+ (difference_type i)
| add to iterator More...
iter_impl | operator++ (int)
| post-increment (it++) More...
iter_impl & | operator++ ()
| pre-increment (++it) More...
iter_impl & | operator+= (difference_type i)
| add to iterator More...
iter_impl | operator- (difference_type i)
| subtract from iterator More...
difference_type | operator- (const iter_impl &other) const
| return difference More...
iter_impl | operator-- (int)
| post-decrement (it–) More...
iter_impl & | operator-- ()
| pre-decrement (–it) More...
iter_impl & | operator-= (difference_type i)
| subtract from iterator More...
pointer | operator-> () const
| dereference the iterator More...
bool | operator< (const iter_impl &other) const
| comparison: smaller More...
bool | operator<= (const iter_impl &other) const
| comparison: less than or equal More...
iter_impl & | operator= (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 More...
bool | operator== (const iter_impl &other) const
| comparison: equal More...
bool | operator> (const iter_impl &other) const
| comparison: greater than More...
bool | operator>= (const iter_impl &other) const
| comparison: greater than or equal More...
reference | operator[] (difference_type n) const
| access to successor More...
reference | value () const
| return the value of an iterator More...

## Friends
class | basic_json
| allow basic_json to access private members More...

## Detailed Description

###
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
  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 1300 of file json.hpp.