xrpld
Loading...
Searching...
No Matches
json::ValueIterator Class Reference

Iterator for object and array value. More...

#include <json_value.h>

Inheritance diagram for json::ValueIterator:
Collaboration diagram for json::ValueIterator:

Public Types

using size_t = unsigned int
using difference_type = int
using reference = Value&
using pointer = Value*
using SelfType = ValueIterator

Public Member Functions

 ValueIterator ()=default
 ValueIterator (ValueConstIterator const &other)
 ValueIterator (ValueIterator const &other)
SelfTypeoperator= (SelfType const &other)
SelfType operator++ (int)
SelfType operator-- (int)
SelfTypeoperator-- ()
SelfTypeoperator++ ()
reference operator* () const
bool operator== (SelfType const &other) const
bool operator!= (SelfType const &other) const
Value key () const
 Return either the index or the member name of the referenced value as a Value.
UInt index () const
 Return the index of the referenced Value. -1 if it is not an ValueType::Array.
char const * memberName () const
 Return the member name of the referenced Value.

Protected Member Functions

Valuederef () const
void increment ()
void decrement ()
difference_type computeDistance (SelfType const &other) const
bool isEqual (SelfType const &other) const
void copy (SelfType const &other)

Private Member Functions

 ValueIterator (Value::ObjectValues::iterator const &current)

Private Attributes

Value::ObjectValues::iterator current_
bool isNull_

Friends

class Value

Detailed Description

Iterator for object and array value.

Definition at line 619 of file json_value.h.

Member Typedef Documentation

◆ size_t

using json::ValueIterator::size_t = unsigned int

Definition at line 624 of file json_value.h.

◆ difference_type

Definition at line 625 of file json_value.h.

◆ reference

Definition at line 626 of file json_value.h.

◆ pointer

Definition at line 627 of file json_value.h.

◆ SelfType

Definition at line 628 of file json_value.h.

Constructor & Destructor Documentation

◆ ValueIterator() [1/4]

json::ValueIterator::ValueIterator ( )
default

◆ ValueIterator() [2/4]

json::ValueIterator::ValueIterator ( ValueConstIterator const & other)

Definition at line 154 of file json_valueiterator.cpp.

◆ ValueIterator() [3/4]

json::ValueIterator::ValueIterator ( ValueIterator const & other)
default

◆ ValueIterator() [4/4]

json::ValueIterator::ValueIterator ( Value::ObjectValues::iterator const & current)
explicitprivate

Definition at line 149 of file json_valueiterator.cpp.

Member Function Documentation

◆ operator=()

ValueIterator & json::ValueIterator::operator= ( SelfType const & other)

Definition at line 161 of file json_valueiterator.cpp.

◆ operator++() [1/2]

SelfType json::ValueIterator::operator++ ( int )

Definition at line 644 of file json_value.h.

◆ operator--() [1/2]

SelfType json::ValueIterator::operator-- ( int )

Definition at line 652 of file json_value.h.

◆ operator--() [2/2]

SelfType & json::ValueIterator::operator-- ( )

Definition at line 660 of file json_value.h.

◆ operator++() [2/2]

SelfType & json::ValueIterator::operator++ ( )

Definition at line 667 of file json_value.h.

◆ operator*()

reference json::ValueIterator::operator* ( ) const

Definition at line 674 of file json_value.h.

◆ operator==()

bool json::ValueIteratorBase::operator== ( SelfType const & other) const
inherited

Definition at line 504 of file json_value.h.

◆ operator!=()

bool json::ValueIteratorBase::operator!= ( SelfType const & other) const
inherited

Definition at line 510 of file json_value.h.

◆ key()

Value json::ValueIteratorBase::key ( ) const
nodiscardinherited

Return either the index or the member name of the referenced value as a Value.

Definition at line 88 of file json_valueiterator.cpp.

◆ index()

UInt json::ValueIteratorBase::index ( ) const
nodiscardinherited

Return the index of the referenced Value. -1 if it is not an ValueType::Array.

Definition at line 104 of file json_valueiterator.cpp.

◆ memberName()

char const * json::ValueIteratorBase::memberName ( ) const
nodiscardinherited

Return the member name of the referenced Value.

"" if it is not an ValueType::Object.

Definition at line 115 of file json_valueiterator.cpp.

◆ deref()

Value & json::ValueIteratorBase::deref ( ) const
nodiscardprotectedinherited

Definition at line 26 of file json_valueiterator.cpp.

◆ increment()

void json::ValueIteratorBase::increment ( )
protectedinherited

Definition at line 32 of file json_valueiterator.cpp.

◆ decrement()

void json::ValueIteratorBase::decrement ( )
protectedinherited

Definition at line 38 of file json_valueiterator.cpp.

◆ computeDistance()

ValueIteratorBase::difference_type json::ValueIteratorBase::computeDistance ( SelfType const & other) const
nodiscardprotectedinherited

Definition at line 44 of file json_valueiterator.cpp.

◆ isEqual()

bool json::ValueIteratorBase::isEqual ( SelfType const & other) const
nodiscardprotectedinherited

Definition at line 71 of file json_valueiterator.cpp.

◆ copy()

void json::ValueIteratorBase::copy ( SelfType const & other)
protectedinherited

Definition at line 82 of file json_valueiterator.cpp.

◆ Value

friend class Value
friend

Definition at line 621 of file json_value.h.

Member Data Documentation

◆ current_

Value::ObjectValues::iterator json::ValueIteratorBase::current_
privateinherited

Definition at line 549 of file json_value.h.

◆ isNull_

bool json::ValueIteratorBase::isNull_
privateinherited

Definition at line 551 of file json_value.h.