bes  Updated for version 3.20.6
GenericMemberIterator< Const, Encoding, Allocator > Class Template Reference

(Constant) member iterator for a JSON object value More...

#include <document.h>

Collaboration diagram for GenericMemberIterator< Const, Encoding, Allocator >:
Collaboration graph

Public Types

typedef GenericMemberIterator< true, Encoding, AllocatorConstIterator
 Constant iterator type. More...
 
typedef GenericMemberIterator< true, Encoding, AllocatorConstIterator
 Constant iterator type. More...
 
typedef BaseType::difference_type DifferenceType
 Signed integer type (e.g. ptrdiff_t) More...
 
typedef BaseType::difference_type DifferenceType
 Signed integer type (e.g. ptrdiff_t) More...
 
typedef GenericMemberIterator Iterator
 Iterator type itself. More...
 
typedef GenericMemberIterator Iterator
 Iterator type itself. More...
 
typedef GenericMemberIterator< false, Encoding, AllocatorNonConstIterator
 Non-constant iterator type. More...
 
typedef GenericMemberIterator< false, Encoding, AllocatorNonConstIterator
 Non-constant iterator type. More...
 
typedef BaseType::pointer Pointer
 Pointer to (const) GenericMember. More...
 
typedef BaseType::pointer Pointer
 Pointer to (const) GenericMember. More...
 
typedef BaseType::reference Reference
 Reference to (const) GenericMember. More...
 
typedef BaseType::reference Reference
 Reference to (const) GenericMember. More...
 

Public Member Functions

 GenericMemberIterator ()
 Default constructor (singular value) More...
 
 GenericMemberIterator ()
 Default constructor (singular value) More...
 
 GenericMemberIterator (const NonConstIterator &it)
 Iterator conversions to more const. More...
 
 GenericMemberIterator (const NonConstIterator &it)
 Iterator conversions to more const. More...
 
Iteratoroperator= (const NonConstIterator &it)
 
Iteratoroperator= (const NonConstIterator &it)
 
stepping
Iteratoroperator++ ()
 
Iteratoroperator-- ()
 
Iterator operator++ (int)
 
Iterator operator-- (int)
 
Iteratoroperator++ ()
 
Iteratoroperator-- ()
 
Iterator operator++ (int)
 
Iterator operator-- (int)
 
increment/decrement
Iterator operator+ (DifferenceType n) const
 
Iterator operator- (DifferenceType n) const
 
Iteratoroperator+= (DifferenceType n)
 
Iteratoroperator-= (DifferenceType n)
 
Iterator operator+ (DifferenceType n) const
 
Iterator operator- (DifferenceType n) const
 
Iteratoroperator+= (DifferenceType n)
 
Iteratoroperator-= (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
 
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. More...
 
Reference operator* () const
 
Pointer operator-> () const
 
Reference operator[] (DifferenceType n) const
 
DifferenceType operator- (ConstIterator that) const
 Distance. More...
 

Detailed Description

template<bool Const, typename Encoding, typename Allocator>
class GenericMemberIterator< Const, Encoding, Allocator >

(Constant) member iterator for a JSON object value

Template Parameters
ConstIs this a constant iterator?
EncodingEncoding of the value. (Even non-string values need to have the same encoding in a document)
AllocatorAllocator 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_NOMEMBERITERATORCLASS to fall back to a pointer-based implementation, if your platform doesn't provide the C++ <iterator> header.
See also
GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator

Definition at line 101 of file cmr_module/rapidjson/document.h.

Member Typedef Documentation

◆ ConstIterator [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator<true,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::ConstIterator

Constant iterator type.

Definition at line 116 of file cmr_module/rapidjson/document.h.

◆ ConstIterator [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator<true,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::ConstIterator

Constant iterator type.

Definition at line 116 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ DifferenceType [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::difference_type GenericMemberIterator< Const, Encoding, Allocator >::DifferenceType

Signed integer type (e.g. ptrdiff_t)

Definition at line 125 of file cmr_module/rapidjson/document.h.

◆ DifferenceType [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::difference_type GenericMemberIterator< Const, Encoding, Allocator >::DifferenceType

Signed integer type (e.g. ptrdiff_t)

Definition at line 125 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ Iterator [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator GenericMemberIterator< Const, Encoding, Allocator >::Iterator

Iterator type itself.

Definition at line 114 of file cmr_module/rapidjson/document.h.

◆ Iterator [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator GenericMemberIterator< Const, Encoding, Allocator >::Iterator

Iterator type itself.

Definition at line 114 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ NonConstIterator [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator<false,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::NonConstIterator

Non-constant iterator type.

Definition at line 118 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ NonConstIterator [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef GenericMemberIterator<false,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::NonConstIterator

Non-constant iterator type.

Definition at line 118 of file cmr_module/rapidjson/document.h.

◆ Pointer [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::pointer GenericMemberIterator< Const, Encoding, Allocator >::Pointer

Pointer to (const) GenericMember.

Definition at line 121 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ Pointer [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::pointer GenericMemberIterator< Const, Encoding, Allocator >::Pointer

Pointer to (const) GenericMember.

Definition at line 121 of file cmr_module/rapidjson/document.h.

◆ Reference [1/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::reference GenericMemberIterator< Const, Encoding, Allocator >::Reference

Reference to (const) GenericMember.

Definition at line 123 of file cmr_module/rapidjson/document.h.

◆ Reference [2/2]

template<bool Const, typename Encoding , typename Allocator >
typedef BaseType::reference GenericMemberIterator< Const, Encoding, Allocator >::Reference

Reference to (const) GenericMember.

Definition at line 123 of file dmrpp_module/xml2json/include/rapidjson/document.h.

Constructor & Destructor Documentation

◆ GenericMemberIterator() [1/4]

template<bool , typename , typename >
GenericMemberIterator
inline

Default constructor (singular value)

Creates an iterator pointing to no element.

Note
All operations, except for comparisons, are undefined on such values.

Definition at line 131 of file cmr_module/rapidjson/document.h.

◆ GenericMemberIterator() [2/4]

template<bool Const, typename Encoding , typename Allocator >
GenericMemberIterator< Const, Encoding, Allocator >::GenericMemberIterator ( const NonConstIterator it)
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 Const template parameter is already false, this constructor effectively defines a regular copy-constructor. Otherwise, the copy constructor is implicitly defined.

Definition at line 149 of file cmr_module/rapidjson/document.h.

◆ GenericMemberIterator() [3/4]

template<bool Const, typename Encoding , typename Allocator >
GenericMemberIterator< Const, Encoding, Allocator >::GenericMemberIterator ( )
inline

Default constructor (singular value)

Creates an iterator pointing to no element.

Note
All operations, except for comparisons, are undefined on such values.

Definition at line 131 of file dmrpp_module/xml2json/include/rapidjson/document.h.

◆ GenericMemberIterator() [4/4]

template<bool Const, typename Encoding , typename Allocator >
GenericMemberIterator< Const, Encoding, Allocator >::GenericMemberIterator ( const NonConstIterator it)
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 Const template parameter is already false, this constructor effectively defines a regular copy-constructor. Otherwise, the copy constructor is implicitly defined.

Definition at line 149 of file dmrpp_module/xml2json/include/rapidjson/document.h.

Member Function Documentation

◆ operator-() [1/2]

template<bool Const, typename Encoding , typename Allocator >
DifferenceType GenericMemberIterator< Const, Encoding, Allocator >::operator- ( ConstIterator  that) const
inline

Distance.

Definition at line 187 of file cmr_module/rapidjson/document.h.

◆ operator-() [2/2]

template<bool Const, typename Encoding , typename Allocator >
DifferenceType GenericMemberIterator< Const, Encoding, Allocator >::operator- ( ConstIterator  that) const
inline

Distance.

Definition at line 187 of file dmrpp_module/xml2json/include/rapidjson/document.h.


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