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>
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  More... | |
| using | difference_type = typename BasicJsonType::difference_type | 
| a type to represent differences between iterators  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... | |
Public Member Functions | |
| iter_impl ()=default | |
| default constructor  More... | |
| iter_impl (pointer object) noexcept | |
| constructor for a given JSON instance  More... | |
| iter_impl (const iter_impl< const BasicJsonType > &other) noexcept | |
| const copy constructor  More... | |
| iter_impl & | operator= (const iter_impl< const BasicJsonType > &other) noexcept | 
| converting assignment  More... | |
| iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept | |
| converting constructor  More... | |
| iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept | 
| converting assignment  More... | |
| reference | operator* () const | 
| return a reference to the value pointed to by the iterator  More... | |
| pointer | operator-> () const | 
| dereference the iterator  More... | |
| iter_impl const | operator++ (int) | 
| post-increment (it++)  More... | |
| iter_impl & | operator++ () | 
| pre-increment (++it)  More... | |
| iter_impl const | operator-- (int) | 
| post-decrement (it–)  More... | |
| iter_impl & | operator-- () | 
| pre-decrement (–it)  More... | |
| bool | operator== (const iter_impl &other) const | 
| comparison: equal  More... | |
| bool | operator!= (const iter_impl &other) const | 
| comparison: not equal  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: greater than  More... | |
| bool | operator>= (const iter_impl &other) const | 
| comparison: greater than or equal  More... | |
| iter_impl & | operator+= (difference_type i) | 
| add to iterator  More... | |
| iter_impl & | operator-= (difference_type i) | 
| subtract from iterator  More... | |
| iter_impl | operator+ (difference_type i) const | 
| add to iterator  More... | |
| iter_impl | operator- (difference_type i) const | 
| subtract from iterator  More... | |
| difference_type | operator- (const iter_impl &other) const | 
| return difference  More... | |
| reference | operator[] (difference_type n) const | 
| access to successor  More... | |
| const object_t::key_type & | key () const | 
| return the key of an object iterator  More... | |
| reference | value () const | 
| return the value of an iterator  More... | |
Private Types | |
| using | object_t = typename BasicJsonType::object_t | 
| using | array_t = typename BasicJsonType::array_t | 
Private Member Functions | |
| void | set_begin () noexcept | 
| set the iterator to the first value  More... | |
| void | set_end () noexcept | 
| set the iterator past the last value  More... | |
Private Attributes | |
| friend | BasicJsonType | 
| friend | iteration_proxy< iter_impl > | 
| friend | iteration_proxy_value< iter_impl > | 
| pointer | m_object = nullptr | 
| associated JSON instance  More... | |
| internal_iterator< typename  std::remove_const < BasicJsonType >::type >  | m_it {} | 
| the actual iterator of the associated instance  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.
      
  | 
  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 | 
| using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type | 
| using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type | 
| using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type | 
      
  | 
  default | 
default constructor
allow basic_json to access private members
      
  | 
  inlineexplicitnoexcept | 
constructor for a given JSON instance
| [in] | object | pointer to a JSON object for this iterator | 
m_object != nullptr. Definition at line 9392 of file json.hpp.
      
  | 
  inlinenoexcept | 
const copy constructor
| [in] | other | const iterator to copy from | 
Definition at line 9434 of file json.hpp.
      
  | 
  inlinenoexcept | 
converting constructor
| [in] | other | non-const iterator to copy from | 
Definition at line 9456 of file json.hpp.
      
  | 
  inline | 
return the key of an object iterator
m_object != nullptr. Definition at line 9916 of file json.hpp.
      
  | 
  inline | 
comparison: not equal
m_object != nullptr. Definition at line 9730 of file json.hpp.
      
  | 
  inline | 
return a reference to the value pointed to by the iterator
m_object != nullptr. Definition at line 9546 of file json.hpp.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
pre-increment (++it)
m_object != nullptr. Definition at line 9628 of file json.hpp.
      
  | 
  inline | 
add to iterator
m_object != nullptr. Definition at line 9793 of file json.hpp.
      
  | 
  inline | 
      
  | 
  inline | 
return difference
m_object != nullptr. Definition at line 9864 of file json.hpp.
      
  | 
  inline | 
      
  | 
  inline | 
pre-decrement (–it)
m_object != nullptr. Definition at line 9671 of file json.hpp.
      
  | 
  inline | 
subtract from iterator
m_object != nullptr. Definition at line 9822 of file json.hpp.
      
  | 
  inline | 
dereference the iterator
m_object != nullptr. Definition at line 9583 of file json.hpp.
      
  | 
  inline | 
comparison: smaller
m_object != nullptr. Definition at line 9739 of file json.hpp.
      
  | 
  inline | 
      
  | 
  inlinenoexcept | 
converting assignment
| [in] | other | const iterator to copy from | 
Definition at line 9444 of file json.hpp.
      
  | 
  inlinenoexcept | 
converting assignment
| [in] | other | non-const iterator to copy from | 
Definition at line 9466 of file json.hpp.
      
  | 
  inline | 
comparison: equal
m_object != nullptr. Definition at line 9703 of file json.hpp.
      
  | 
  inline | 
comparison: greater than
m_object != nullptr. Definition at line 9775 of file json.hpp.
      
  | 
  inline | 
comparison: greater than or equal
m_object != nullptr. Definition at line 9784 of file json.hpp.
      
  | 
  inline | 
access to successor
m_object != nullptr. Definition at line 9885 of file json.hpp.
      
  | 
  inlineprivatenoexcept | 
set the iterator to the first value
m_object != nullptr. Definition at line 9478 of file json.hpp.
      
  | 
  inlineprivatenoexcept | 
set the iterator past the last value
m_object != nullptr. Definition at line 9515 of file json.hpp.
      
  | 
  inline | 
return the value of an iterator
m_object != nullptr. Definition at line 9932 of file json.hpp.
      
  | 
  friend | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
 1.8.5