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 <goby/util/thirdparty/nlohmann/json.hpp>
template<typename BasicJsonType>
class 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 13605 of file json.hpp.
◆ difference_type
template<typename BasicJsonType>
| using detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type |
◆ value_type
template<typename BasicJsonType>
| using detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type |
◆ iter_impl() [1/5]
template<typename BasicJsonType>
◆ ~iter_impl()
template<typename BasicJsonType>
◆ iter_impl() [2/5]
template<typename BasicJsonType>
◆ iter_impl() [3/5]
template<typename BasicJsonType>
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.
Definition at line 13658 of file json.hpp.
◆ iter_impl() [4/5]
template<typename BasicJsonType>
| 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
Definition at line 13708 of file json.hpp.
◆ iter_impl() [5/5]
template<typename BasicJsonType>
| 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.
Definition at line 13733 of file json.hpp.
◆ key()
template<typename BasicJsonType>
return the key of an object iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14289 of file json.hpp.
◆ operator!=()
template<typename BasicJsonType>
comparison: not equal
- Precondition
- (1) Both iterators are initialized to point to the same object, or (2) both iterators are value-initialized.
Definition at line 14067 of file json.hpp.
◆ operator*()
template<typename BasicJsonType>
return a reference to the value pointed to by the iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13838 of file json.hpp.
◆ operator+()
template<typename BasicJsonType>
add to iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14189 of file json.hpp.
◆ operator++() [1/2]
template<typename BasicJsonType>
pre-increment (++it)
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13935 of file json.hpp.
◆ operator++() [2/2]
template<typename BasicJsonType>
post-increment (it++)
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13924 of file json.hpp.
◆ operator+=()
template<typename BasicJsonType>
add to iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14143 of file json.hpp.
◆ operator-() [1/2]
template<typename BasicJsonType>
return difference
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14222 of file json.hpp.
◆ operator-() [2/2]
template<typename BasicJsonType>
subtract from iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14211 of file json.hpp.
◆ operator--() [1/2]
template<typename BasicJsonType>
pre-decrement (–it)
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13986 of file json.hpp.
◆ operator--() [2/2]
template<typename BasicJsonType>
post-decrement (it–)
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13975 of file json.hpp.
◆ operator-=()
template<typename BasicJsonType>
subtract from iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14180 of file json.hpp.
◆ operator->()
template<typename BasicJsonType>
dereference the iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13882 of file json.hpp.
◆ operator<()
template<typename BasicJsonType>
comparison: smaller
- Precondition
- (1) Both iterators are initialized to point to the same object, or (2) both iterators are value-initialized.
Definition at line 14076 of file json.hpp.
◆ operator<=()
template<typename BasicJsonType>
comparison: less than or equal
- Precondition
- (1) Both iterators are initialized to point to the same object, or (2) both iterators are value-initialized.
Definition at line 14116 of file json.hpp.
◆ operator=() [1/3]
template<typename BasicJsonType>
converting assignment
- Parameters
-
| [in] | other | const iterator to copy from |
- Returns
- const/non-const iterator
- Note
- It is not checked whether other is initialized.
Definition at line 13718 of file json.hpp.
◆ operator=() [2/3]
template<typename BasicJsonType>
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.
Definition at line 13743 of file json.hpp.
◆ operator=() [3/3]
template<typename BasicJsonType>
◆ operator==()
template<typename BasicJsonType>
comparison: equal
- Precondition
- (1) Both iterators are initialized to point to the same object, or (2) both iterators are value-initialized.
Definition at line 14027 of file json.hpp.
◆ operator>()
template<typename BasicJsonType>
comparison: greater than
- Precondition
- (1) Both iterators are initialized to point to the same object, or (2) both iterators are value-initialized.
Definition at line 14125 of file json.hpp.
◆ operator>=()
template<typename BasicJsonType>
comparison: greater than or equal
- Precondition
- (1) The iterator is initialized; i.e. m_object != nullptr, or (2) both iterators are value-initialized.
Definition at line 14134 of file json.hpp.
◆ operator[]()
template<typename BasicJsonType>
access to successor
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14251 of file json.hpp.
◆ over() [1/2]
template<typename BasicJsonType>
◆ over() [2/2]
template<typename BasicJsonType>
◆ set_end()
template<typename BasicJsonType>
set the iterator past the last value
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 13799 of file json.hpp.
◆ switch()
template<typename BasicJsonType>
◆ value()
template<typename BasicJsonType>
return the value of an iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14305 of file json.hpp.
◆ operator+
template<typename BasicJsonType>
addition of distance and iterator
- Precondition
- The iterator is initialized; i.e. m_object != nullptr.
Definition at line 14200 of file json.hpp.
◆ __pad0__
template<typename BasicJsonType>
◆ __pad1__
template<typename BasicJsonType>
◆ m_it
template<typename BasicJsonType>
The documentation for this class was generated from the following file: