JsonCpp project page Classes Namespace JsonCpp home page

Public Types | Public Member Functions | Friends | List of all members
Json::ValueIterator Class Reference

Iterator for object and array value. More...

#include <json/value.h>

Inherits Json::ValueIteratorBase.

Public Types

using value_type = Value
 
using size_t = unsigned int
 
using difference_type = int
 
using reference = Value &
 
using pointer = Value *
 
using SelfType = ValueIterator
 
- Public Types inherited from Json::ValueIteratorBase
using iterator_category = std::bidirectional_iterator_tag
 
using size_t = unsigned int
 
using difference_type = int
 
using SelfType = ValueIteratorBase
 

Public Member Functions

 ValueIterator ()
 
 ValueIterator (const ValueConstIterator &other)
 
 ValueIterator (const ValueIterator &other)
 
SelfTypeoperator= (const SelfType &other)
 
SelfType operator++ (int)
 
SelfType operator-- (int)
 
SelfTypeoperator-- ()
 
SelfTypeoperator++ ()
 
reference operator* () const
 
pointer operator-> () const
 
- Public Member Functions inherited from Json::ValueIteratorBase
bool operator== (const SelfType &other) const
 
bool operator!= (const SelfType &other) const
 
difference_type operator- (const SelfType &other) const
 
Value key () const
 Return either the index or the member name of the referenced value as a Value. More...
 
UInt index () const
 Return the index of the referenced Value, or -1 if it is not an arrayValue. More...
 
String name () const
 Return the member name of the referenced Value, or "" if it is not an objectValue. More...
 
 __declspec (deprecated("Use `key = name();` instead.")) char const *memberName() const
 Return the member name of the referenced Value. More...
 
char const * memberName (char const **end) const
 Return the member name of the referenced Value, or NULL if it is not an objectValue. More...
 
 ValueIteratorBase ()
 
 ValueIteratorBase (const Value::ObjectValues::iterator &current)
 

Friends

class Value
 

Additional Inherited Members

- Protected Member Functions inherited from Json::ValueIteratorBase
const Valuederef () const
 
Valuederef ()
 
void increment ()
 
void decrement ()
 
difference_type computeDistance (const SelfType &other) const
 
bool isEqual (const SelfType &other) const
 
void copy (const SelfType &other)
 

Detailed Description

Iterator for object and array value.

Definition at line 871 of file value.h.

Member Typedef Documentation

Definition at line 877 of file value.h.

Definition at line 879 of file value.h.

Definition at line 878 of file value.h.

Definition at line 880 of file value.h.

using Json::ValueIterator::size_t = unsigned int

Definition at line 876 of file value.h.

Definition at line 875 of file value.h.

Constructor & Destructor Documentation

Json::ValueIterator::ValueIterator ( )
default
Json::ValueIterator::ValueIterator ( const ValueConstIterator other)
explicit

Definition at line 144 of file json_valueiterator.inl.

Json::ValueIterator::ValueIterator ( const ValueIterator other)
default

Member Function Documentation

reference Json::ValueIterator::operator* ( ) const
inline

The return value of non-const iterators can be changed, so the these functions are not const because the returned references/pointers can be used to change state of the base class.

Definition at line 921 of file value.h.

SelfType Json::ValueIterator::operator++ ( int  )
inline

Definition at line 894 of file value.h.

SelfType& Json::ValueIterator::operator++ ( )
inline

Definition at line 911 of file value.h.

SelfType Json::ValueIterator::operator-- ( int  )
inline

Definition at line 900 of file value.h.

SelfType& Json::ValueIterator::operator-- ( )
inline

Definition at line 906 of file value.h.

pointer Json::ValueIterator::operator-> ( ) const
inline

Definition at line 922 of file value.h.

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

Definition at line 151 of file json_valueiterator.inl.

References Json::ValueIteratorBase::copy().

Friends And Related Function Documentation

friend class Value
friend

Definition at line 872 of file value.h.


The documentation for this class was generated from the following files: