(Constant) member iterator for a JSON object value
More...
Inherits iterator< std::random_access_iterator_tag, internal::MaybeAddConst< Const, GenericMember< Encoding, Allocator > >::Type >.
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.
- See Also
- GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
Signed integer type (e.g. ptrdiff_t
)
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
Non-constant iterator type.
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
Default constructor (singular value)
Creates an iterator pointing to no element.
- Note
- All operations, except for comparisons, are undefined on such values.
template<bool Const, typename Encoding , typename Allocator >
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.
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool Const, typename Encoding , typename Allocator >
template<bool , typename , typename >
template<bool Const, typename Encoding , typename Allocator >
The documentation for this class was generated from the following file: