#include <json.hpp>
Public Types | |
| using | difference_type = std::ptrdiff_t |
| using | iterator_category = std::input_iterator_tag |
| using | pointer = 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 | value_type = iteration_proxy_value |
Public Member Functions | |
| iteration_proxy_value ()=default | |
| iteration_proxy_value (iteration_proxy_value &&) noexcept(std::is_nothrow_move_constructible< IteratorType >::value &&std::is_nothrow_move_constructible< string_type >::value)=default | |
| iteration_proxy_value (iteration_proxy_value const &)=default | |
| iteration_proxy_value (IteratorType it, std::size_t array_index_=0) noexcept(std::is_nothrow_move_constructible< IteratorType >::value &&std::is_nothrow_default_constructible< string_type >::value) | |
| 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... | |
| const iteration_proxy_value & | operator* () const |
| dereference operator (needed for range-based for) More... | |
| iteration_proxy_value & | operator++ () |
| increment operator (needed for range-based for) More... | |
| iteration_proxy_value | operator++ (int) & |
| iteration_proxy_value & | operator= (iteration_proxy_value &&) noexcept(std::is_nothrow_move_assignable< IteratorType >::value &&std::is_nothrow_move_assignable< string_type >::value)=default |
| iteration_proxy_value & | operator= (iteration_proxy_value const &)=default |
| bool | operator== (const iteration_proxy_value &o) const |
| equality operator (needed for InputIterator) More... | |
| IteratorType::reference | value () const |
| return value of the iterator More... | |
| ~iteration_proxy_value ()=default | |
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... | |
| string_type | empty_str {} |
| an empty string (to return a reference for primitive values) More... | |
| using detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t |
| using detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag |
| using detail::iteration_proxy_value< IteratorType >::pointer = value_type * |
| using detail::iteration_proxy_value< IteratorType >::reference = value_type & |
| using detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type |
| using detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value |
|
explicitdefault |
|
inlineexplicitnoexcept |
|
default |
|
defaultnoexcept |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
defaultnoexcept |
|
default |
|
inline |
|
inline |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |