(Constant) member iterator for a JSON object value More...
#include <document.h>
Inheritance diagram for rapidjson::GenericMemberIterator< Const, Encoding, Allocator >:
Public Types | |
| typedef GenericMemberIterator | Iterator |
| Iterator type itself. | |
| typedef GenericMemberIterator< true, Encoding, Allocator > | ConstIterator |
| Constant iterator type. | |
| typedef GenericMemberIterator< false, Encoding, Allocator > | NonConstIterator |
| Non-constant iterator type. | |
| typedef BaseType::pointer | Pointer |
| Pointer to (const) GenericMember. | |
| typedef BaseType::reference | Reference |
| Reference to (const) GenericMember. | |
| typedef BaseType::difference_type | DifferenceType |
Signed integer type (e.g. ptrdiff_t). | |
Public Member Functions | |
| GenericMemberIterator () | |
| Default constructor (singular value). | |
| GenericMemberIterator (const NonConstIterator &it) | |
| Iterator conversions to more const. | |
| Iterator & | operator= (const NonConstIterator &it) |
stepping | |
| Iterator & | operator++ () |
| Iterator & | operator-- () |
| Iterator | operator++ (int) |
| Iterator | operator-- (int) |
increment/decrement | |
| Iterator | operator+ (DifferenceType n) const |
| Iterator | operator- (DifferenceType n) const |
| Iterator & | operator+= (DifferenceType n) |
| Iterator & | operator-= (DifferenceType n) |
relations | |
| bool | operator== (ConstIterator that) const |
| bool | operator!= (ConstIterator that) const |
| bool | operator<= (ConstIterator that) const |
| bool | operator>= (ConstIterator that) const |
| bool | operator< (ConstIterator that) const |
| bool | operator> (ConstIterator that) const |
Friends | |
| class | GenericValue< Encoding, Allocator > |
dereference | |
| Reference | operator* () const |
| Pointer | operator-> () const |
| Reference | operator[] (DifferenceType n) const |
| DifferenceType | operator- (ConstIterator that) const |
| Distance. | |
Detailed Description
template<bool Const, typename Encoding, typename Allocator>
class rapidjson::GenericMemberIterator< Const, Encoding, Allocator >
class rapidjson::GenericMemberIterator< Const, Encoding, Allocator >
(Constant) member iterator for a JSON object value
- Template Parameters
-
Const Is this a constant iterator? Encoding Encoding of the value. (Even non-string values need to have the same encoding in a document) Allocator Allocator type for allocating memory of object, array and string.
This class implements a Random Access Iterator for GenericMember elements of a GenericValue, see ISO/IEC 14882:2003(E) C++ standard, 24.1 [lib.iterator.requirements].
- Note
- This iterator implementation is mainly intended to avoid implicit conversions from iterator values to
NULL, e.g. from GenericValue::FindMember. -
Define
RAPIDJSON_NOMEMBERITERATORCLASSto fall back to a pointer-based implementation, if your platform doesn't provide the C++ <iterator> header.
Constructor & Destructor Documentation
◆ GenericMemberIterator() [1/2]
|
inline |
Default constructor (singular value).
Creates an iterator pointing to no element.
- Note
- All operations, except for comparisons, are undefined on such values.
◆ GenericMemberIterator() [2/2]
|
inline |
Iterator conversions to more const.
- Parameters
-
it (Non-const) iterator to copy from
Allows the creation of an iterator from another GenericMemberIterator that is "less const". Especially, creating a non-constant iterator from a constant iterator are disabled:
- const -> non-const (not ok)
- const -> const (ok)
- non-const -> const (ok)
- non-const -> non-const (ok)
- Note
- If the
Consttemplate parameter is alreadyfalse, this constructor effectively defines a regular copy-constructor. Otherwise, the copy constructor is implicitly defined.
The documentation for this class was generated from the following file:
- include/rapidjson/document.h