A Discrete-Event Network Simulator
API
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.h"

+ Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:

Public Types

using difference_type = typename BasicJsonType::difference_type
 a type to represent differences between iterators More...
 
using difference_type = typename BasicJsonType::difference_type
 a type to represent differences between iterators More...
 
using iterator_category = std::bidirectional_iterator_tag
 The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. More...
 
using iterator_category = std::bidirectional_iterator_tag
 The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. 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 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 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 value_type = typename BasicJsonType::value_type
 the type of the values when the iterator is dereferenced More...
 
using value_type = typename BasicJsonType::value_type
 the type of the values when the iterator is dereferenced More...
 

Public Member Functions

 iter_impl ()=default
 default constructor More...
 
 iter_impl ()=default
 default constructor More...
 
 iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
 const copy constructor More...
 
 iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
 const copy constructor More...
 
 iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting constructor More...
 
 iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting constructor More...
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance More...
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance More...
 
const object_t::key_type & key () const
 return the key of an object iterator More...
 
const object_t::key_type & key () const
 return the key of an object iterator More...
 
bool operator!= (const iter_impl &other) const
 comparison: not equal More...
 
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...
 
reference operator* () const
 return a reference to the value pointed to by the iterator More...
 
iter_impl operator+ (difference_type i) const
 add to iterator More...
 
iter_impl operator+ (difference_type i) const
 add to iterator More...
 
iter_imploperator++ ()
 pre-increment (++it) More...
 
iter_imploperator++ ()
 pre-increment (++it) More...
 
iter_impl const operator++ (int)
 post-increment (it++) More...
 
iter_impl const operator++ (int)
 post-increment (it++) More...
 
iter_imploperator+= (difference_type i)
 add to iterator More...
 
iter_imploperator+= (difference_type i)
 add to iterator More...
 
difference_type operator- (const iter_impl &other) const
 return difference More...
 
difference_type operator- (const iter_impl &other) const
 return difference More...
 
iter_impl operator- (difference_type i) const
 subtract from iterator More...
 
iter_impl operator- (difference_type i) const
 subtract from iterator More...
 
iter_imploperator-- ()
 pre-decrement (–it) More...
 
iter_imploperator-- ()
 pre-decrement (–it) More...
 
iter_impl const operator-- (int)
 post-decrement (it–) More...
 
iter_impl const operator-- (int)
 post-decrement (it–) More...
 
iter_imploperator-= (difference_type i)
 subtract from iterator More...
 
iter_imploperator-= (difference_type i)
 subtract from iterator More...
 
pointer operator-> () const
 dereference the 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: smaller More...
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal More...
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal More...
 
iter_imploperator= (const iter_impl< const BasicJsonType > &other) noexcept
 converting assignment More...
 
iter_imploperator= (const iter_impl< const BasicJsonType > &other) noexcept
 converting assignment More...
 
iter_imploperator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting assignment More...
 
iter_imploperator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting assignment More...
 
bool operator== (const iter_impl &other) const
 comparison: equal 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 More...
 
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal 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 operator[] (difference_type n) const
 access to successor More...
 
void set_end () noexcept
 set the iterator past the last value More...
 
void set_end () noexcept
 set the iterator past the last value More...
 
 switch (m_object->m_type)
 
 switch (m_object->m_type)
 
reference value () const
 return the value of an iterator More...
 
reference value () const
 return the value of an iterator More...
 

Public Attributes

JSON_PRIVATE_UNLESS_TESTED __pad0__: void set_begin() noexcept { JSON_ASSERT(m_object != nullptr)
 
JSON_PRIVATE_UNLESS_TESTED __pad1__: pointer m_object = nullptr
 
internal_iterator< typename std::remove_const< BasicJsonType >::type > m_it {}
 the actual iterator of the associated instance More...
 

Private Types

using array_t = typename BasicJsonType::array_t
 
using array_t = typename BasicJsonType::array_t
 
using object_t = typename BasicJsonType::object_t
 
using object_t = typename BasicJsonType::object_t
 

Private Attributes

friend BasicJsonType
 
friend iteration_proxy< iter_impl >
 
friend iteration_proxy_value< iter_impl >
 

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)

Definition at line 10878 of file json.h.

Member Typedef Documentation

◆ array_t [1/2]

template<typename BasicJsonType >
using nlohmann::detail::iter_impl< BasicJsonType >::array_t = typename BasicJsonType::array_t
private

Definition at line 10887 of file json.h.

◆ array_t [2/2]

template<typename BasicJsonType >
using nlohmann::detail::iter_impl< BasicJsonType >::array_t = typename BasicJsonType::array_t
private

Definition at line 10887 of file json.h.

◆ 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

Definition at line 10904 of file json.h.

◆ 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

Definition at line 10904 of file json.h.

◆ 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.

Definition at line 10899 of file json.h.

◆ 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.

Definition at line 10899 of file json.h.

◆ object_t [1/2]

template<typename BasicJsonType >
using nlohmann::detail::iter_impl< BasicJsonType >::object_t = typename BasicJsonType::object_t
private

Definition at line 10886 of file json.h.

◆ object_t [2/2]

template<typename BasicJsonType >
using nlohmann::detail::iter_impl< BasicJsonType >::object_t = typename BasicJsonType::object_t
private

Definition at line 10886 of file json.h.

◆ 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)

Definition at line 10906 of file json.h.

◆ 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)

Definition at line 10906 of file json.h.

◆ 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)

Definition at line 10910 of file json.h.

◆ 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)

Definition at line 10910 of file json.h.

◆ 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

Definition at line 10902 of file json.h.

◆ 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

Definition at line 10902 of file json.h.

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

Definition at line 10881 of file json.h.

◆ 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]objectpointer to a JSON object for this iterator
Precondition
object != nullptr
Postcondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 10924 of file json.h.

References nlohmann::detail::array, nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator, JSON_ASSERT, nlohmann::detail::iter_impl< BasicJsonType >::m_it, nlohmann::detail::object, nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator, and nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator.

◆ 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]otherconst 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

Definition at line 10966 of file json.h.

◆ 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]othernon-const iterator to copy from
Note
It is not checked whether other is initialized.

Definition at line 10988 of file json.h.

◆ 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]objectpointer to a JSON object for this iterator
Precondition
object != nullptr
Postcondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 10924 of file json.h.

References nlohmann::detail::array, nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator, JSON_ASSERT, nlohmann::detail::iter_impl< BasicJsonType >::m_it, nlohmann::detail::object, nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator, and nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator.

◆ 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]otherconst 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

Definition at line 10966 of file json.h.

◆ 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]othernon-const iterator to copy from
Note
It is not checked whether other is initialized.

Definition at line 10988 of file json.h.

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.

Definition at line 11448 of file json.h.

References nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, nlohmann::detail::iter_impl< BasicJsonType >::m_it, and nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator.

+ Here is the call graph for this function:

◆ 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.

Definition at line 11448 of file json.h.

References nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, nlohmann::detail::iter_impl< BasicJsonType >::m_it, and nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator.

+ Here is the call graph for this function:

◆ 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.

Definition at line 11262 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator==().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11262 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator==().

+ Here is the call graph for this function:

◆ operator*() [1/2]

◆ operator*() [2/2]

◆ 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.

Definition at line 11363 of file json.h.

◆ 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.

Definition at line 11363 of file json.h.

◆ operator++() [1/4]

◆ operator++() [2/4]

◆ operator++() [3/4]

template<typename BasicJsonType >
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ ( int  )
inline

post-increment (it++)

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

Definition at line 11149 of file json.h.

◆ operator++() [4/4]

template<typename BasicJsonType >
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ ( int  )
inline

post-increment (it++)

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

Definition at line 11149 of file json.h.

◆ operator+=() [1/2]

template<typename BasicJsonType >
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= ( difference_type  i)
inline

◆ operator+=() [2/2]

template<typename BasicJsonType >
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= ( difference_type  i)
inline

◆ operator-() [1/4]

template<typename BasicJsonType >
difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- ( const iter_impl< BasicJsonType > &  other) const
inline

◆ operator-() [2/4]

template<typename BasicJsonType >
difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- ( const iter_impl< BasicJsonType > &  other) const
inline

◆ 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.

Definition at line 11385 of file json.h.

◆ 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.

Definition at line 11385 of file json.h.

◆ operator--() [1/4]

◆ operator--() [2/4]

◆ operator--() [3/4]

template<typename BasicJsonType >
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- ( int  )
inline

post-decrement (it–)

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

Definition at line 11192 of file json.h.

◆ operator--() [4/4]

template<typename BasicJsonType >
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- ( int  )
inline

post-decrement (it–)

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

Definition at line 11192 of file json.h.

◆ 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.

Definition at line 11354 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator+=().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11354 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator+=().

+ Here is the call graph for this function:

◆ operator->() [1/2]

◆ operator->() [2/2]

◆ operator<() [1/2]

template<typename BasicJsonType >
bool nlohmann::detail::iter_impl< BasicJsonType >::operator< ( const iter_impl< BasicJsonType > &  other) const
inline

◆ operator<() [2/2]

template<typename BasicJsonType >
bool nlohmann::detail::iter_impl< BasicJsonType >::operator< ( const iter_impl< BasicJsonType > &  other) const
inline

◆ 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.

Definition at line 11298 of file json.h.

Referenced by nlohmann::detail::iter_impl< BasicJsonType >::operator>().

+ Here is the caller graph for this function:

◆ 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.

Definition at line 11298 of file json.h.

◆ 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]otherconst iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 10976 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::m_it.

◆ 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]otherconst iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 10976 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::m_it.

◆ 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]othernon-const iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 10998 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::m_it.

◆ 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]othernon-const iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 10998 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::m_it.

◆ operator==() [1/2]

◆ operator==() [2/2]

◆ 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.

Definition at line 11307 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator<=().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11307 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator<=().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11316 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator<().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11316 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator<().

+ Here is the call graph for this function:

◆ operator[]() [1/2]

◆ operator[]() [2/2]

◆ set_end() [1/2]

◆ set_end() [2/2]

template<typename BasicJsonType >
void nlohmann::detail::iter_impl< BasicJsonType >::set_end ( )
inlinenoexcept

◆ switch() [1/2]

◆ switch() [2/2]

◆ 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.

Definition at line 11464 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator*().

+ Here is the call graph for this function:

◆ 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.

Definition at line 11464 of file json.h.

References nlohmann::detail::iter_impl< BasicJsonType >::operator*().

+ Here is the call graph for this function:

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.

Definition at line 11374 of file json.h.

◆ 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.

Definition at line 11374 of file json.h.

Member Data Documentation

◆ __pad0__

template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad0__

Definition at line 11005 of file json.h.

◆ __pad1__

template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad1__

Definition at line 11469 of file json.h.

◆ BasicJsonType

template<typename BasicJsonType >
BasicJsonType
private

Definition at line 10882 of file json.h.

◆ iteration_proxy< iter_impl >

template<typename BasicJsonType >
iteration_proxy< iter_impl >
private

Definition at line 10883 of file json.h.

◆ iteration_proxy_value< iter_impl >

template<typename BasicJsonType >
iteration_proxy_value< iter_impl >
private

Definition at line 10884 of file json.h.

◆ m_it


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