JsonCpp project page | JsonCpp home page

Public Types | Public Member Functions | Protected Member Functions | List of all members
Json::ValueIteratorBase Class Reference

base class for Value iterators. More...

`#include <json/value.h>`

Inheritance diagram for Json::ValueIteratorBase:
Collaboration diagram for Json::ValueIteratorBase:

## Public Types
typedef std::bidirectional_iterator_tag | iterator_category
typedef unsigned int | size_t
typedef int | difference_type
typedef ValueIteratorBase | SelfType

## Public Member Functions
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...
std::string | name () const
| Return the member name of the referenced Value, or "" if it is not an objectValue. More...
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)

## Protected Member Functions
Value & | deref () const
void | increment ()
void | decrement ()
difference_type | computeDistance (const SelfType &other) const
bool | isEqual (const SelfType &other) const
void | copy (const SelfType &other)

## Detailed Description

base class for Value iterators.

Definition at line 708 of file value.h.

## Member Typedef Documentation

## ◆ difference_type

typedef int Json::ValueIteratorBase::difference_type

Definition at line 712 of file value.h.

## ◆ iterator_category

typedef std::bidirectional_iterator_tag Json::ValueIteratorBase::iterator_category

Definition at line 710 of file value.h.

## ◆ SelfType

typedef ValueIteratorBase Json::ValueIteratorBase::SelfType

Definition at line 713 of file value.h.

## ◆ size_t

typedef unsigned int Json::ValueIteratorBase::size_t

Definition at line 711 of file value.h.

## Constructor & Destructor Documentation

## ◆ ValueIteratorBase() [1/2]

Json::ValueIteratorBase::ValueIteratorBase | ( |  | ) |

Definition at line 18 of file json_valueiterator.inl.

Referenced by Json::ValueConstIterator::ValueConstIterator(), and Json::ValueIterator::ValueIterator().

Here is the caller graph for this function:

## ◆ ValueIteratorBase() [2/2]

Json::ValueIteratorBase::ValueIteratorBase | ( | const Value::ObjectValues::iterator & | current | ) |
| explicit

Definition at line 22 of file json_valueiterator.inl.

## Member Function Documentation

## ◆ computeDistance()

ValueIteratorBase::difference_type Json::ValueIteratorBase::computeDistance | ( | const SelfType & | other | ) | const
| protected

Definition at line 39 of file json_valueiterator.inl.

Referenced by operator-().

Here is the caller graph for this function:

## ◆ copy()

void Json::ValueIteratorBase::copy | ( | const SelfType & | other | ) |
| protected

Definition at line 73 of file json_valueiterator.inl.

Referenced by Json::ValueConstIterator::operator=(), and Json::ValueIterator::operator=().

Here is the caller graph for this function:

## ◆ decrement()

void Json::ValueIteratorBase::decrement | ( |  | ) |
| protected

Definition at line 34 of file json_valueiterator.inl.

## ◆ deref()

Value & Json::ValueIteratorBase::deref | ( |  | ) | const
| protected

Definition at line 26 of file json_valueiterator.inl.

## ◆ increment()

void Json::ValueIteratorBase::increment | ( |  | ) |
| protected

Definition at line 30 of file json_valueiterator.inl.

## ◆ index()

UInt Json::ValueIteratorBase::index | ( |  | ) | const

Return the index of the referenced Value, or -1 if it is not an arrayValue.

Definition at line 88 of file json_valueiterator.inl.

## ◆ isEqual()

bool Json::ValueIteratorBase::isEqual | ( | const SelfType & | other | ) | const
| protected

Definition at line 66 of file json_valueiterator.inl.

## ◆ key()

Value Json::ValueIteratorBase::key | ( |  | ) | const

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

Definition at line 78 of file json_valueiterator.inl.

## ◆ memberName() [1/2]

char const * Json::ValueIteratorBase::memberName | ( |  | ) | const

Return the member name of the referenced Value.

"" if it is not an objectValue.

Deprecated:
  This cannot be used for UTF-8 strings, since there can be embedded nulls.

Definition at line 103 of file json_valueiterator.inl.

Referenced by name().

Here is the caller graph for this function:

## ◆ memberName() [2/2]

char const * Json::ValueIteratorBase::memberName | ( | char const ** | end | ) | const

Return the member name of the referenced Value, or NULL if it is not an objectValue.

Note
  Better version than memberName(). Allows embedded nulls.

Definition at line 108 of file json_valueiterator.inl.

## ◆ name()

JSONCPP_STRING Json::ValueIteratorBase::name | ( |  | ) | const

Return the member name of the referenced Value, or "" if it is not an objectValue.

Note
  Avoid `c_str()` on result, as embedded zeroes are possible.

Definition at line 95 of file json_valueiterator.inl.

References JSONCPP_STRING, and memberName().

## ◆ operator!=()

bool Json::ValueIteratorBase::operator!= | ( | const SelfType & | other | ) | const
| inline

Definition at line 717 of file value.h.

## ◆ operator-()

difference_type Json::ValueIteratorBase::operator- | ( | const SelfType & | other | ) | const
| inline

Definition at line 719 of file value.h.

References computeDistance(), JSONCPP_DEPRECATED, and JSONCPP_STRING.

## ◆ operator==()

bool Json::ValueIteratorBase::operator== | ( | const SelfType & | other | ) | const
| inline

Definition at line 715 of file value.h.

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

- include/json/value.h
- src/lib_json/json_valueiterator.inl