|  | Ark Server API (ASE) - Wiki
    | 
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>
 Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:
 Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:| 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 | |
| using | difference_type = typename BasicJsonType::difference_type | 
| a type to represent differences between iterators | |
| using | pointer | 
| defines a pointer to the type iterated over (value_type) | |
| using | reference | 
| defines a reference to the type iterated over (value_type) | |
| Public Member Functions | |
| iter_impl ()=default | |
| ~iter_impl ()=default | |
| iter_impl (iter_impl &&) noexcept=default | |
| iter_impl & | operator= (iter_impl &&) noexcept=default | 
| iter_impl (pointer object) noexcept | |
| constructor for a given JSON instance | |
| iter_impl (const iter_impl< const BasicJsonType > &other) noexcept | |
| const copy constructor | |
| iter_impl & | operator= (const iter_impl< const BasicJsonType > &other) noexcept | 
| converting assignment | |
| iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept | |
| converting constructor | |
| iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept | 
| converting assignment | |
| switch (m_object->m_type) | |
| void | set_end () noexcept | 
| set the iterator past the last value | |
| reference | operator* () const | 
| return a reference to the value pointed to by the iterator | |
| pointer | operator-> () const | 
| dereference the iterator | |
| iter_impl const | operator++ (int) | 
| post-increment (it++) | |
| iter_impl & | operator++ () | 
| pre-increment (++it) | |
| iter_impl const | operator-- (int) | 
| post-decrement (it–) | |
| iter_impl & | operator-- () | 
| pre-decrement (–it) | |
| 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 | |
| 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 | |
| bool | operator< (const iter_impl &other) const | 
| comparison: smaller | |
| bool | operator<= (const iter_impl &other) const | 
| comparison: less than or equal | |
| bool | operator> (const iter_impl &other) const | 
| comparison: greater than | |
| bool | operator>= (const iter_impl &other) const | 
| comparison: greater than or equal | |
| iter_impl & | operator+= (difference_type i) | 
| add to iterator | |
| iter_impl & | operator-= (difference_type i) | 
| subtract from iterator | |
| iter_impl | operator+ (difference_type i) const | 
| add to iterator | |
| iter_impl | operator- (difference_type i) const | 
| subtract from iterator | |
| difference_type | operator- (const iter_impl &other) const | 
| return difference | |
| reference | operator[] (difference_type n) const | 
| access to successor | |
| const object_t::key_type & | key () const | 
| return the key of an object iterator | |
| reference | value () const | 
| return the value of an iterator | |
| Public Attributes | |
| JSON_PRIVATE_UNLESS_TESTED | : void set_begin() noexcept { JSON_ASSERT(m_object != nullptr) | 
| JSON_PRIVATE_UNLESS_TESTED | : pointer m_object = nullptr | 
| internal_iterator< typename std::remove_const< BasicJsonType >::type > | m_it {} | 
| the actual iterator of the associated instance | |
| Private Types | |
| using | other_iter_impl = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type> | 
| the iterator with BasicJsonType of different const-ness | |
| using | object_t = typename BasicJsonType::object_t | 
| using | array_t = typename BasicJsonType::array_t | 
| Private Attributes | |
| friend | other_iter_impl | 
| allow basic_json to access private members | |
| 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 | |
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.
| 
 | private | 
| using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type | 
| 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.
| 
 | private | 
| 
 | private | 
| using nlohmann::detail::iter_impl< BasicJsonType >::pointer | 
defines a pointer to the type iterated over (value_type)
| using nlohmann::detail::iter_impl< BasicJsonType >::reference | 
| using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type | 
| 
 | default | 
| 
 | default | 
| 
 | defaultnoexcept | 
| 
 | inlineexplicitnoexcept | 
| 
 | inlinenoexcept | 
const copy constructor
| [in] | other | const iterator to copy from | 
| 
 | inlinenoexcept | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlinenoexcept | 
| 
 | inlinenoexcept | 
| 
 | defaultnoexcept | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlinenoexcept | 
| 
 | inline | 
| 
 | inline | 
| 
 | friend | 
| JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad0__ | 
| JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad1__ | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| internal_iterator<typename std::remove_const<BasicJsonType>::type> nlohmann::detail::iter_impl< BasicJsonType >::m_it {} | 
| 
 | private | 
allow basic_json to access private members