#include "json.h"
Public Types | |
using | difference_type = std::ptrdiff_t |
using | difference_type = std::ptrdiff_t |
using | iterator_category = std::input_iterator_tag |
using | iterator_category = std::input_iterator_tag |
using | pointer = value_type * |
using | pointer = value_type * |
using | reference = value_type & |
using | reference = value_type & |
using | string_type = typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type |
using | string_type = typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type |
using | value_type = iteration_proxy_value |
using | value_type = iteration_proxy_value |
Public Member Functions | |
iteration_proxy_value (IteratorType it) noexcept | |
iteration_proxy_value (IteratorType it) noexcept | |
const string_type & | key () const |
return key of the iterator More... | |
const string_type & | key () const |
return key of the iterator More... | |
bool | operator!= (const iteration_proxy_value &o) const |
inequality operator (needed for range-based for) More... | |
bool | operator!= (const iteration_proxy_value &o) const |
inequality operator (needed for range-based for) More... | |
iteration_proxy_value & | operator* () |
dereference operator (needed for range-based for) More... | |
iteration_proxy_value & | operator* () |
dereference operator (needed for range-based for) More... | |
iteration_proxy_value & | operator++ () |
increment operator (needed for range-based for) More... | |
iteration_proxy_value & | operator++ () |
increment operator (needed for range-based for) More... | |
bool | operator== (const iteration_proxy_value &o) const |
equality operator (needed for InputIterator) More... | |
bool | operator== (const iteration_proxy_value &o) const |
equality operator (needed for InputIterator) More... | |
IteratorType::reference | value () const |
return value of the iterator More... | |
IteratorType::reference | value () const |
return value of the iterator More... | |
Private Attributes | |
IteratorType | anchor |
the iterator More... | |
std::size_t | array_index = 0 |
an index for arrays (used to create key names) More... | |
std::size_t | array_index_last = 0 |
last stringified array index More... | |
string_type | array_index_str = "0" |
a string representation of the array index More... | |
const string_type | empty_str = "" |
an empty string (to return a reference for primitive values) More... | |
using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t |
using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t |
using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag |
using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag |
using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type * |
using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type * |
using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type & |
using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type & |
using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type |
using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type |
using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value |
using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value |
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
inline |
return key of the iterator
Definition at line 3961 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor, nlohmann::detail::array, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_last, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_str, nlohmann::detail::iteration_proxy_value< IteratorType >::empty_str, nlohmann::detail::int_to_string(), JSON_ASSERT, and nlohmann::detail::object.
|
inline |
return key of the iterator
Definition at line 3961 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor, nlohmann::detail::array, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_last, nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_str, nlohmann::detail::iteration_proxy_value< IteratorType >::empty_str, nlohmann::detail::int_to_string(), JSON_ASSERT, and nlohmann::detail::object.
|
inline |
inequality operator (needed for range-based for)
Definition at line 3955 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
inline |
inequality operator (needed for range-based for)
Definition at line 3955 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
inline |
|
inline |
|
inline |
increment operator (needed for range-based for)
Definition at line 3940 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor, and nlohmann::detail::iteration_proxy_value< IteratorType >::array_index.
|
inline |
increment operator (needed for range-based for)
Definition at line 3940 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor, and nlohmann::detail::iteration_proxy_value< IteratorType >::array_index.
|
inline |
equality operator (needed for InputIterator)
Definition at line 3949 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
inline |
equality operator (needed for InputIterator)
Definition at line 3949 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
inline |
return value of the iterator
Definition at line 3989 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
inline |
return value of the iterator
Definition at line 3989 of file json.h.
References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.
|
private |
the iterator
Definition at line 3920 of file json.h.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key(), nlohmann::detail::iteration_proxy_value< IteratorType >::operator!=(), nlohmann::detail::iteration_proxy_value< IteratorType >::operator++(), nlohmann::detail::iteration_proxy_value< IteratorType >::operator==(), and nlohmann::detail::iteration_proxy_value< IteratorType >::value().
|
private |
an index for arrays (used to create key names)
Definition at line 3922 of file json.h.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key(), and nlohmann::detail::iteration_proxy_value< IteratorType >::operator++().
|
mutableprivate |
last stringified array index
Definition at line 3924 of file json.h.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().
|
mutableprivate |
a string representation of the array index
Definition at line 3926 of file json.h.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().
|
private |
an empty string (to return a reference for primitive values)
Definition at line 3928 of file json.h.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().