ROOT 6.16/01 Reference Guide |
a template for a random access iterator for the basic_json class
This class implements a both iterators (iterator and const_iterator) for the basic_json class.
@requirement The class satisfies the following concept requirements:
Public Types | |
using | difference_type = typename basic_json::difference_type |
a type to represent differences between iterators More... | |
using | iterator_category = std::bidirectional_iterator_tag |
the category of the iterator More... | |
using | pointer = typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type |
defines a pointer to the type iterated over (value_type) More... | |
using | reference = typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type |
defines a reference to the type iterated over (value_type) More... | |
using | value_type = typename basic_json::value_type |
the type of the values when the iterator is dereferenced More... | |
Public Member Functions | |
iter_impl ()=default | |
default constructor More... | |
iter_impl (const iter_impl &other) noexcept | |
copy constructor More... | |
iter_impl (pointer object) noexcept | |
constructor for a given JSON instance More... | |
object_t::key_type | key () const |
return the key of an object iterator More... | |
operator const_iterator () const | |
bool | operator!= (const iter_impl &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) |
add to iterator More... | |
iter_impl & | operator++ () |
pre-increment (++it) More... | |
iter_impl | 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) |
subtract from iterator More... | |
iter_impl & | operator-- () |
pre-decrement (–it) More... | |
iter_impl | 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= (iter_impl other) noexcept(std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value) |
copy assignment More... | |
bool | operator== (const iter_impl &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... | |
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 | |
internal_iterator | m_it = internal_iterator() |
the actual iterator of the associated instance More... | |
pointer | m_object = nullptr |
associated JSON instance More... | |
Friends | |
class | basic_json |
allow basic_json to access private members More... | |
using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::difference_type = typename basic_json::difference_type |
using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::iterator_category = std::bidirectional_iterator_tag |
using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::pointer = typename std::conditional<std::is_const<U>::value, typename basic_json::const_pointer, typename basic_json::pointer>::type |
using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::reference = typename std::conditional<std::is_const<U>::value, typename basic_json::const_reference, typename basic_json::reference>::type |
using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::value_type = typename basic_json::value_type |
|
default |
default constructor
|
inlineexplicitnoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inline |
|
friend |
allow basic_json to access private members
|
private |
|
private |