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>
|
| using | iterator_category = std::bidirectional_iterator_tag |
| |
| using | value_type = typename BasicJsonType::value_type |
| | the type of the values when the iterator is dereferenced
|
| |
| using | difference_type = typename BasicJsonType::difference_type |
| | a type to represent differences between iterators
|
| |
| 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)
|
| |
| 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)
|
| |
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 |
a type to represent differences between iterators
Definition at line 13636 of file json.hpp.
◆ iterator_category
template<typename BasicJsonType >
| using 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 13631 of file json.hpp.
◆ pointer
template<typename BasicJsonType >
| using 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 13638 of file json.hpp.
◆ reference
template<typename BasicJsonType >
| using 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 13642 of file json.hpp.
◆ value_type
template<typename BasicJsonType >
| using detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type |
the type of the values when the iterator is dereferenced
Definition at line 13634 of file json.hpp.
◆ 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 >
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 >
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.
◆ 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 actual iterator of the associated instance
Definition at line 14314 of file json.hpp.
The documentation for this class was generated from the following file: