GenericMemberIterator< Const, Encoding, Allocator > Class Template Reference#
(Constant) member iterator for a JSON object value More...
#include <document.h>
Public Types | |
typedef GenericMemberIterator | Iterator |
Iterator type itself. More... | |
typedef GenericMemberIterator< true, Encoding, Allocator > | ConstIterator |
Constant iterator type. More... | |
typedef GenericMemberIterator< false, Encoding, Allocator > | NonConstIterator |
Non-constant iterator type. More... | |
Public Member Functions | |
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 | |
template<bool Const_> | |
bool | operator== (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
template<bool Const_> | |
bool | operator!= (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
template<bool Const_> | |
bool | operator<= (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
template<bool Const_> | |
bool | operator>= (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
template<bool Const_> | |
bool | operator< (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
template<bool Const_> | |
bool | operator> (const GenericMemberIterator< Const_, Encoding, Allocator > &that) const |
Friends | |
class | GenericValue< Encoding, Allocator > |
template<bool , typename , typename > | |
class | GenericMemberIterator |
std::iterator_traits support | |
typedef ValueType | value_type |
Pointer to (const) GenericMember. More... | |
typedef ValueType * | pointer |
Pointer to (const) GenericMember. More... | |
typedef ValueType & | reference |
Pointer to (const) GenericMember. More... | |
typedef std::ptrdiff_t | difference_type |
Pointer to (const) GenericMember. More... | |
typedef std::random_access_iterator_tag | iterator_category |
Pointer to (const) GenericMember. More... | |
typedef pointer | Pointer |
Pointer to (const) GenericMember. More... | |
typedef reference | Reference |
Reference to (const) GenericMember. More... | |
typedef difference_type | DifferenceType |
Signed integer type (e.g. ptrdiff_t ) More... | |
GenericMemberIterator () | |
Default constructor (singular value) More... | |
GenericMemberIterator (const NonConstIterator &it) | |
Iterator conversions to more const. More... | |
Iterator & | operator= (const NonConstIterator &it) |
Pointer to (const) GenericMember. More... | |
dereference | |
Reference | operator* () const |
raw pointer More... | |
Pointer | operator-> () const |
raw pointer More... | |
Reference | operator[] (DifferenceType n) const |
raw pointer More... | |
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
-
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_NOMEMBERITERATORCLASS
to fall back to a pointer-based implementation, if your platform doesn't provide the C++ <iterator> header.
Member Typedef Documentation
◆ ConstIterator
typedef GenericMemberIterator<true,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::ConstIterator |
Constant iterator type.
◆ difference_type
typedef std::ptrdiff_t GenericMemberIterator< Const, Encoding, Allocator >::difference_type |
Pointer to (const) GenericMember.
◆ DifferenceType
typedef difference_type GenericMemberIterator< Const, Encoding, Allocator >::DifferenceType |
Signed integer type (e.g. ptrdiff_t
)
◆ Iterator
typedef GenericMemberIterator GenericMemberIterator< Const, Encoding, Allocator >::Iterator |
Iterator type itself.
◆ iterator_category
typedef std::random_access_iterator_tag GenericMemberIterator< Const, Encoding, Allocator >::iterator_category |
Pointer to (const) GenericMember.
◆ NonConstIterator
typedef GenericMemberIterator<false,Encoding,Allocator> GenericMemberIterator< Const, Encoding, Allocator >::NonConstIterator |
Non-constant iterator type.
◆ pointer
typedef ValueType* GenericMemberIterator< Const, Encoding, Allocator >::pointer |
Pointer to (const) GenericMember.
◆ Pointer
typedef pointer GenericMemberIterator< Const, Encoding, Allocator >::Pointer |
Pointer to (const) GenericMember.
◆ reference
typedef ValueType& GenericMemberIterator< Const, Encoding, Allocator >::reference |
Pointer to (const) GenericMember.
◆ Reference
typedef reference GenericMemberIterator< Const, Encoding, Allocator >::Reference |
Reference to (const) GenericMember.
◆ value_type
typedef ValueType GenericMemberIterator< Const, Encoding, Allocator >::value_type |
Pointer to (const) GenericMember.
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
Const
template parameter is alreadyfalse
, this constructor effectively defines a regular copy-constructor. Otherwise, the copy constructor is implicitly defined.
Member Function Documentation
◆ operator!=()
|
inline |
◆ operator*()
|
inline |
raw pointer
◆ operator+()
|
inline |
◆ operator++() [1/2]
|
inline |
◆ operator++() [2/2]
|
inline |
◆ operator+=()
|
inline |
◆ operator-() [1/2]
|
inline |
Distance.
◆ operator-() [2/2]
|
inline |
◆ operator--() [1/2]
|
inline |
◆ operator--() [2/2]
|
inline |
◆ operator-=()
|
inline |
◆ operator->()
|
inline |
raw pointer
◆ operator<()
|
inline |
◆ operator<=()
|
inline |
◆ operator=()
|
inline |
Pointer to (const) GenericMember.
◆ operator==()
|
inline |
◆ operator>()
|
inline |
◆ operator>=()
|
inline |
◆ operator[]()
|
inline |
raw pointer
Friends And Related Function Documentation
◆ GenericMemberIterator
|
friend |
◆ GenericValue< Encoding, Allocator >
|
friend |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/document.h