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...
Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:Public Types | |
| using | difference_type = typename BasicJsonType::difference_type |
| a type to represent differences between iterators | |
| 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. 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. | |
| 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) | |
| using | value_type = typename BasicJsonType::value_type |
| the type of the values when the iterator is dereferenced | |
Public Member Functions | |
| 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 (iter_impl &&) noexcept=default | |
| 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... | |
| template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr> | |
| bool | operator!= (const IterImpl &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) const |
| add to iterator More... | |
| iter_impl & | operator++ () |
| pre-increment (++it) More... | |
| iter_impl const | operator++ (int) |
| post-increment (it++) More... | |
| iter_impl & | operator+= (difference_type i) |
| add to iterator 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-- () |
| pre-decrement (–it) More... | |
| iter_impl const | operator-- (int) |
| post-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= (const iter_impl< const BasicJsonType > &other) noexcept |
| converting assignment More... | |
| iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept |
| converting assignment More... | |
| iter_impl & | operator= (iter_impl &&) noexcept=default |
| template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr> | |
| bool | operator== (const IterImpl &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 | |
| iter_impl | operator+ (difference_type i, const iter_impl &it) |
| addition of distance and iterator More... | |
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.
|
explicitnoexcept |
constructor for a given JSON instance
| [in] | object | pointer to a JSON object for this iterator |
m_object != nullptr. References nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::chars_read, nlohmann::detail::parse_error::create(), and nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax.
|
noexcept |
const copy constructor
| [in] | other | const iterator to copy from |
|
noexcept |
converting constructor
| [in] | other | non-const iterator to copy from |
| const object_t::key_type & nlohmann::detail::iter_impl< BasicJsonType >::key | ( | ) | const |
return the key of an object iterator
m_object != nullptr. | bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= | ( | const IterImpl & | other | ) | const |
comparison: not equal
m_object != nullptr. References nlohmann::detail::key, and nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax.
| reference nlohmann::detail::iter_impl< BasicJsonType >::operator* | ( | ) | const |
return a reference to the value pointed to by the iterator
m_object != nullptr. | iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ | ( | difference_type | i | ) | const |
add to iterator
m_object != nullptr. | iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( | ) |
pre-increment (++it)
m_object != nullptr. | iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ | ( | int | ) |
post-increment (it++)
m_object != nullptr. | iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator+= | ( | difference_type | i | ) |
add to iterator
m_object != nullptr. | difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | const iter_impl< BasicJsonType > & | other | ) | const |
return difference
m_object != nullptr. | iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- | ( | difference_type | i | ) | const |
subtract from iterator
m_object != nullptr. | iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( | ) |
pre-decrement (–it)
m_object != nullptr. | iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- | ( | int | ) |
post-decrement (it–)
m_object != nullptr. | iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator-= | ( | difference_type | i | ) |
subtract from iterator
m_object != nullptr. | pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> | ( | ) | const |
dereference the iterator
m_object != nullptr. | bool nlohmann::detail::iter_impl< BasicJsonType >::operator< | ( | const iter_impl< BasicJsonType > & | other | ) | const |
comparison: smaller
m_object != nullptr. References nlohmann::detail::key, and nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax.
| bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= | ( | const iter_impl< BasicJsonType > & | other | ) | const |
comparison: less than or equal
m_object != nullptr.
|
noexcept |
converting assignment
| [in] | other | const iterator to copy from |
|
noexcept |
converting assignment
| [in] | other | non-const iterator to copy from |
| bool nlohmann::detail::iter_impl< BasicJsonType >::operator== | ( | const IterImpl & | other | ) | const |
comparison: equal
m_object != nullptr. | bool nlohmann::detail::iter_impl< BasicJsonType >::operator> | ( | const iter_impl< BasicJsonType > & | other | ) | const |
comparison: greater than
m_object != nullptr. | bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= | ( | const iter_impl< BasicJsonType > & | other | ) | const |
comparison: greater than or equal
m_object != nullptr. | reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] | ( | difference_type | n | ) | const |
access to successor
m_object != nullptr. | reference nlohmann::detail::iter_impl< BasicJsonType >::value | ( | ) | const |
return the value of an iterator
m_object != nullptr. References nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax.
|
friend |
addition of distance and iterator
m_object != nullptr.