nlohmann::detail::iter_impl< BasicJsonType > Class Template Reference

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

`#include <json.hpp>`

## Public Types

using | iterator_category = std::bidirectional_iterator_tag
using | value_type = typename BasicJsonType::value_type
| the type of the values when the iterator is dereferenced More...
using | difference_type = typename BasicJsonType::difference_type
| a type to represent differences between iterators More...
using | pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type
| defines a pointer to the type iterated over (value_type) More...
using | reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type
| defines a reference to the type iterated over (value_type) More...
using | iterator_category = std::bidirectional_iterator_tag
using | value_type = typename BasicJsonType::value_type
| the type of the values when the iterator is dereferenced More...
using | difference_type = typename BasicJsonType::difference_type
| a type to represent differences between iterators More...
using | pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type
| defines a pointer to the type iterated over (value_type) More...
using | reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type
| defines a reference to the type iterated over (value_type) 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< const BasicJsonType > &other) noexcept
| const copy constructor More...
iter_impl & | operator= (const iter_impl< const BasicJsonType > &other) noexcept
| converting assignment More...
| iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
| converting constructor More...
iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
| converting assignment More...
reference | operator* () const
| return a reference to the value pointed to by the iterator More...
pointer | operator-> () const
| dereference the iterator More...
const iter_impl | operator++ (int)
| post-increment (it++) More...
iter_impl & | operator++ ()
| pre-increment (++it) More...
const iter_impl | operator-- (int)
| post-decrement (it–) More...
iter_impl & | operator-- ()
| pre-decrement (–it) More...
bool | operator== (const iter_impl &other) const
| comparison: equal More...
bool | operator!= (const iter_impl &other) const
| comparison: not equal More...
bool | operator< (const iter_impl &other) const
| comparison: smaller More...
bool | operator<= (const iter_impl &other) const
| comparison: less than or 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...
iter_impl & | operator+= (difference_type i)
| add to iterator More...
iter_impl & | operator-= (difference_type i)
| subtract from iterator More...
iter_impl | operator+ (difference_type i) const
| add to iterator More...
iter_impl | operator- (difference_type i) const
| subtract from iterator More...
difference_type | operator- (const iter_impl &other) const
| return difference More...
reference | operator[] (difference_type n) const
| access to successor More...
const object_t::key_type & | key () const
| return the key of an object iterator More...
reference | value () const
| return the value of an iterator More...
| iter_impl ()=default
| default constructor More...
| iter_impl (pointer object) noexcept
| constructor for a given JSON instance More...
| iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
| const copy constructor More...
iter_impl & | operator= (const iter_impl< const BasicJsonType > &other) noexcept
| converting assignment More...
| iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
| converting constructor More...
iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
| converting assignment More...
reference | operator* () const
| return a reference to the value pointed to by the iterator More...
pointer | operator-> () const
| dereference the iterator More...
const iter_impl | operator++ (int)
| post-increment (it++) More...
iter_impl & | operator++ ()
| pre-increment (++it) More...
const iter_impl | operator-- (int)
| post-decrement (it–) More...
iter_impl & | operator-- ()
| pre-decrement (–it) More...
bool | operator== (const iter_impl &other) const
| comparison: equal More...
bool | operator!= (const iter_impl &other) const
| comparison: not equal More...
bool | operator< (const iter_impl &other) const
| comparison: smaller More...
bool | operator<= (const iter_impl &other) const
| comparison: less than or 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...
iter_impl & | operator+= (difference_type i)
| add to iterator More...
iter_impl & | operator-= (difference_type i)
| subtract from iterator More...
iter_impl | operator+ (difference_type i) const
| add to iterator More...
iter_impl | operator- (difference_type i) const
| subtract from iterator More...
difference_type | operator- (const iter_impl &other) const
| return difference More...
reference | operator[] (difference_type n) const
| access to successor More...
const object_t::key_type & | key () const
| return the key of an object iterator More...
reference | value () const
| return the value of an iterator More...

## Friends

iter_impl | operator+ (difference_type i, const iter_impl &it)
| addition of distance and iterator More...
iter_impl | operator+ (difference_type i, const iter_impl &it)
| addition of distance and iterator More...

## Detailed Description

### template<typename BasicJsonType>
class nlohmann::detail::iter_impl< BasicJsonType >

a template for a bidirectional iterator for the basic_json class 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.** @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).

Since
  version 1.0.0, simplified in version 2.0.9, change to bidirectional iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593)

## Member Typedef Documentation

## difference_type [1/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type

a type to represent differences between iterators

## difference_type [2/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type

a type to represent differences between iterators

## iterator_category [1/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag

The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.

## iterator_category [2/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag

The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.

## pointer [1/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type

defines a pointer to the type iterated over (value_type)

## pointer [2/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type

defines a pointer to the type iterated over (value_type)

## reference [1/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type

defines a reference to the type iterated over (value_type)

## reference [2/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type

defines a reference to the type iterated over (value_type)

## value_type [1/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type

the type of the values when the iterator is dereferenced

## value_type [2/2]

template<typename BasicJsonType >

using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type

the type of the values when the iterator is dereferenced

## Constructor & Destructor Documentation

## iter_impl() [1/8]

template<typename BasicJsonType >

iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type > | ( |  | ) |

default

default constructor

allow basic_json to access private members

## iter_impl() [2/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | pointer | object | ) |

inlineexplicitnoexcept

constructor for a given JSON instance

Parameters

  [in] | object | pointer to a JSON object for this iterator

Precondition
  object != nullptr

Postcondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## iter_impl() [3/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | const iter_impl< const BasicJsonType > & | other | ) |

inlinenoexcept

const copy constructor

Note
  The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.

Parameters

  [in] | other | const iterator to copy from

Note
  This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608

## iter_impl() [4/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | const iter_impl< typename std::remove_const< BasicJsonType >::type > & | other | ) |

inlinenoexcept

converting constructor

Parameters

  [in] | other | non-const iterator to copy from

Note
  It is not checked whether other is initialized.

## iter_impl() [5/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( |  | ) |

default

default constructor

## iter_impl() [6/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | pointer | object | ) |

inlineexplicitnoexcept

constructor for a given JSON instance

Parameters

  [in] | object | pointer to a JSON object for this iterator

Precondition
  object != nullptr

Postcondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## iter_impl() [7/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | const iter_impl< const BasicJsonType > & | other | ) |

inlinenoexcept

const copy constructor

Note
  The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.

Parameters

  [in] | other | const iterator to copy from

Note
  This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608

## iter_impl() [8/8]

template<typename BasicJsonType >

nlohmann::detail::iter_impl< BasicJsonType >::iter_impl | ( | const iter_impl< typename std::remove_const< BasicJsonType >::type > & | other | ) |

inlinenoexcept

converting constructor

Parameters

  [in] | other | non-const iterator to copy from

Note
  It is not checked whether other is initialized.

## Member Function Documentation

## key() [1/2]

template<typename BasicJsonType >

const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key | ( |  | ) | const

inline

return the key of an object iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## key() [2/2]

template<typename BasicJsonType >

const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key | ( |  | ) | const

inline

return the key of an object iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator!=() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: not equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator!=() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: not equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator*() [1/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::operator* | ( |  | ) | const

inline

return a reference to the value pointed to by the iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator*() [2/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::operator* | ( |  | ) | const

inline

return a reference to the value pointed to by the iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator+() [1/2]

template<typename BasicJsonType >

iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ | ( | difference_type | i | ) | const

inline

add to iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator+() [2/2]

template<typename BasicJsonType >

iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ | ( | difference_type | i | ) | const

inline

add to iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator++() [1/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( |  | ) |

inline

pre-increment (++it)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator++() [2/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( |  | ) |

inline

pre-increment (++it)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator++() [3/4]

template<typename BasicJsonType >

const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( | int |  | ) |

inline

post-increment (it++)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator++() [4/4]

template<typename BasicJsonType >

const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( | int |  | ) |

inline

post-increment (it++)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator+=() [1/2]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= | ( | difference_type | i | ) |

inline

add to iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator+=() [2/2]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= | ( | difference_type | i | ) |

inline

add to iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-() [1/4]

template<typename BasicJsonType >

difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

return difference

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-() [2/4]

template<typename BasicJsonType >

difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

return difference

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-() [3/4]

template<typename BasicJsonType >

iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | difference_type | i | ) | const

inline

subtract from iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-() [4/4]

template<typename BasicJsonType >

iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | difference_type | i | ) | const

inline

subtract from iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator--() [1/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( |  | ) |

inline

pre-decrement (–it)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator--() [2/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( |  | ) |

inline

pre-decrement (–it)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator--() [3/4]

template<typename BasicJsonType >

const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( | int |  | ) |

inline

post-decrement (it–)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator--() [4/4]

template<typename BasicJsonType >

const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( | int |  | ) |

inline

post-decrement (it–)

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-=() [1/2]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= | ( | difference_type | i | ) |

inline

subtract from iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator-=() [2/2]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= | ( | difference_type | i | ) |

inline

subtract from iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator->() [1/2]

template<typename BasicJsonType >

pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> | ( |  | ) | const

inline

dereference the iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator->() [2/2]

template<typename BasicJsonType >

pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> | ( |  | ) | const

inline

dereference the iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator<() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator< | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: smaller

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator<() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator< | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: smaller

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator<=() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: less than or equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator<=() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: less than or equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator=() [1/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= | ( | const iter_impl< const BasicJsonType > & | other | ) |

inlinenoexcept

converting assignment

Parameters

  [in] | other | const iterator to copy from

Returns
  const/non-const iterator

Note
  It is not checked whether other is initialized.

## operator=() [2/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= | ( | const iter_impl< const BasicJsonType > & | other | ) |

inlinenoexcept

converting assignment

Parameters

  [in] | other | const iterator to copy from

Returns
  const/non-const iterator

Note
  It is not checked whether other is initialized.

## operator=() [3/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= | ( | const iter_impl< typename std::remove_const< BasicJsonType >::type > & | other | ) |

inlinenoexcept

converting assignment

Parameters

  [in] | other | non-const iterator to copy from

Returns
  const/non-const iterator

Note
  It is not checked whether other is initialized.

## operator=() [4/4]

template<typename BasicJsonType >

iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= | ( | const iter_impl< typename std::remove_const< BasicJsonType >::type > & | other | ) |

inlinenoexcept

converting assignment

Parameters

  [in] | other | non-const iterator to copy from

Returns
  const/non-const iterator

Note
  It is not checked whether other is initialized.

## operator==() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator== | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator==() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator== | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator>() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator> | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: greater than

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator>() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator> | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: greater than

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator>=() [1/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: greater than or equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator>=() [2/2]

template<typename BasicJsonType >

bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= | ( | const iter_impl< BasicJsonType > & | other | ) | const

inline

comparison: greater than or equal

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator[]() [1/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] | ( | difference_type | n | ) | const

inline

access to successor

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator[]() [2/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] | ( | difference_type | n | ) | const

inline

access to successor

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## value() [1/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::value | ( |  | ) | const

inline

return the value of an iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## value() [2/2]

template<typename BasicJsonType >

reference nlohmann::detail::iter_impl< BasicJsonType >::value | ( |  | ) | const

inline

return the value of an iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## Friends And Related Function Documentation

## operator+ [1/2]

template<typename BasicJsonType >

iter_impl operator+ | ( | difference_type | i,
|  | const iter_impl< BasicJsonType > & | it
| ) |  |

friend

addition of distance and iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

## operator+ [2/2]

template<typename BasicJsonType >

iter_impl operator+ | ( | difference_type | i,
|  | const iter_impl< BasicJsonType > & | it
| ) |  |

friend

addition of distance and iterator

Precondition
  The iterator is initialized; i.e. `m_object != nullptr`.

The documentation for this class was generated from the following file:

- build/_deps/json-src/include/nlohmann/json.hpp