Monero
Loading...
Searching...
No Matches
GenericObject< Const, ValueT > Class Template Reference

Helper class for accessing Value of object type. More...

#include <document.h>

Public Types

typedef GenericObject< true, ValueT > ConstObject
typedef GenericObject< false, ValueT > Object
typedef ValueT PlainType
typedef internal::MaybeAddConst< Const, PlainType >::Type ValueType
typedef GenericMemberIterator< Const, typename ValueT::EncodingType, typename ValueT::AllocatorType > MemberIterator
typedef GenericMemberIterator< true, typename ValueT::EncodingType, typename ValueT::AllocatorType > ConstMemberIterator
typedef ValueType::AllocatorType AllocatorType
typedef ValueType::StringRefType StringRefType
typedef ValueType::EncodingType EncodingType
typedef ValueType::Ch Ch

Public Member Functions

 GenericObject (const GenericObject &rhs)
GenericObjectoperator= (const GenericObject &rhs)
 ~GenericObject ()
SizeType MemberCount () const
SizeType MemberCapacity () const
bool ObjectEmpty () const
template<typename T>
ValueTypeoperator[] (T *name) const
template<typename SourceAllocator>
ValueTypeoperator[] (const GenericValue< EncodingType, SourceAllocator > &name) const
MemberIterator MemberBegin () const
MemberIterator MemberEnd () const
GenericObject MemberReserve (SizeType newCapacity, AllocatorType &allocator) const
bool HasMember (const Ch *name) const
template<typename SourceAllocator>
bool HasMember (const GenericValue< EncodingType, SourceAllocator > &name) const
MemberIterator FindMember (const Ch *name) const
template<typename SourceAllocator>
MemberIterator FindMember (const GenericValue< EncodingType, SourceAllocator > &name) const
GenericObject AddMember (ValueType &name, ValueType &value, AllocatorType &allocator) const
GenericObject AddMember (ValueType &name, StringRefType value, AllocatorType &allocator) const
template<typename T>
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) AddMember(ValueType &name
GenericObject AddMember (StringRefType name, ValueType &value, AllocatorType &allocator) const
GenericObject AddMember (StringRefType name, StringRefType value, AllocatorType &allocator) const
template<typename T>
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(GenericObject)) AddMember(StringRefType name
void RemoveAllMembers ()
bool RemoveMember (const Ch *name) const
template<typename SourceAllocator>
bool RemoveMember (const GenericValue< EncodingType, SourceAllocator > &name) const
MemberIterator RemoveMember (MemberIterator m) const
MemberIterator EraseMember (ConstMemberIterator pos) const
MemberIterator EraseMember (ConstMemberIterator first, ConstMemberIterator last) const
bool EraseMember (const Ch *name) const
template<typename SourceAllocator>
bool EraseMember (const GenericValue< EncodingType, SourceAllocator > &name) const

Public Attributes

T value
T AllocatorType &allocator const { value_.AddMember(name, value, allocator)
return * this

Private Member Functions

 GenericObject ()
 GenericObject (ValueType &value)

Private Attributes

ValueTypevalue_

Friends

template<typename, typename>
class GenericValue

Detailed Description

template<bool Const, typename ValueT>
class GenericObject< Const, ValueT >

Helper class for accessing Value of object type.

Instance of this helper class is obtained by GenericValue::GetObject(). In addition to all APIs for array type, it provides range-based for loop if RAPIDJSON_HAS_CXX11_RANGE_FOR=1.

Member Typedef Documentation

◆ AllocatorType

template<bool Const, typename ValueT>
typedef ValueType::AllocatorType GenericObject< Const, ValueT >::AllocatorType

◆ Ch

template<bool Const, typename ValueT>
typedef ValueType::Ch GenericObject< Const, ValueT >::Ch

◆ ConstMemberIterator

template<bool Const, typename ValueT>
typedef GenericMemberIterator<true, typename ValueT::EncodingType, typename ValueT::AllocatorType> GenericObject< Const, ValueT >::ConstMemberIterator

◆ ConstObject

template<bool Const, typename ValueT>
typedef GenericObject<true, ValueT> GenericObject< Const, ValueT >::ConstObject

◆ EncodingType

template<bool Const, typename ValueT>
typedef ValueType::EncodingType GenericObject< Const, ValueT >::EncodingType

◆ MemberIterator

template<bool Const, typename ValueT>
typedef GenericMemberIterator<Const, typename ValueT::EncodingType, typename ValueT::AllocatorType> GenericObject< Const, ValueT >::MemberIterator

◆ Object

template<bool Const, typename ValueT>
typedef GenericObject<false, ValueT> GenericObject< Const, ValueT >::Object

◆ PlainType

template<bool Const, typename ValueT>
typedef ValueT GenericObject< Const, ValueT >::PlainType

◆ StringRefType

template<bool Const, typename ValueT>
typedef ValueType::StringRefType GenericObject< Const, ValueT >::StringRefType

◆ ValueType

template<bool Const, typename ValueT>
typedef internal::MaybeAddConst<Const,PlainType>::Type GenericObject< Const, ValueT >::ValueType

Constructor & Destructor Documentation

◆ GenericObject() [1/3]

template<bool Const, typename ValueT>
GenericObject< Const, ValueT >::GenericObject ( const GenericObject< Const, ValueT > & rhs)
inline

◆ ~GenericObject()

template<bool Const, typename ValueT>
GenericObject< Const, ValueT >::~GenericObject ( )
inline

◆ GenericObject() [2/3]

template<bool Const, typename ValueT>
GenericObject< Const, ValueT >::GenericObject ( )
private

◆ GenericObject() [3/3]

template<bool Const, typename ValueT>
GenericObject< Const, ValueT >::GenericObject ( ValueType & value)
inlineprivate

Member Function Documentation

◆ AddMember() [1/4]

template<bool Const, typename ValueT>
GenericObject GenericObject< Const, ValueT >::AddMember ( StringRefType name,
StringRefType value,
AllocatorType & allocator ) const
inline

◆ AddMember() [2/4]

template<bool Const, typename ValueT>
GenericObject GenericObject< Const, ValueT >::AddMember ( StringRefType name,
ValueType & value,
AllocatorType & allocator ) const
inline

◆ AddMember() [3/4]

template<bool Const, typename ValueT>
GenericObject GenericObject< Const, ValueT >::AddMember ( ValueType & name,
StringRefType value,
AllocatorType & allocator ) const
inline

◆ AddMember() [4/4]

template<bool Const, typename ValueT>
GenericObject GenericObject< Const, ValueT >::AddMember ( ValueType & name,
ValueType & value,
AllocatorType & allocator ) const
inline

◆ EraseMember() [1/4]

template<bool Const, typename ValueT>
bool GenericObject< Const, ValueT >::EraseMember ( const Ch * name) const
inline

◆ EraseMember() [2/4]

template<bool Const, typename ValueT>
template<typename SourceAllocator>
bool GenericObject< Const, ValueT >::EraseMember ( const GenericValue< EncodingType, SourceAllocator > & name) const
inline

◆ EraseMember() [3/4]

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::EraseMember ( ConstMemberIterator first,
ConstMemberIterator last ) const
inline

◆ EraseMember() [4/4]

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::EraseMember ( ConstMemberIterator pos) const
inline

◆ FindMember() [1/2]

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::FindMember ( const Ch * name) const
inline

◆ FindMember() [2/2]

template<bool Const, typename ValueT>
template<typename SourceAllocator>
MemberIterator GenericObject< Const, ValueT >::FindMember ( const GenericValue< EncodingType, SourceAllocator > & name) const
inline

◆ HasMember() [1/2]

template<bool Const, typename ValueT>
bool GenericObject< Const, ValueT >::HasMember ( const Ch * name) const
inline

◆ HasMember() [2/2]

template<bool Const, typename ValueT>
template<typename SourceAllocator>
bool GenericObject< Const, ValueT >::HasMember ( const GenericValue< EncodingType, SourceAllocator > & name) const
inline

◆ MemberBegin()

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::MemberBegin ( ) const
inline

◆ MemberCapacity()

template<bool Const, typename ValueT>
SizeType GenericObject< Const, ValueT >::MemberCapacity ( ) const
inline

◆ MemberCount()

template<bool Const, typename ValueT>
SizeType GenericObject< Const, ValueT >::MemberCount ( ) const
inline

◆ MemberEnd()

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::MemberEnd ( ) const
inline

◆ MemberReserve()

template<bool Const, typename ValueT>
GenericObject GenericObject< Const, ValueT >::MemberReserve ( SizeType newCapacity,
AllocatorType & allocator ) const
inline

◆ ObjectEmpty()

template<bool Const, typename ValueT>
bool GenericObject< Const, ValueT >::ObjectEmpty ( ) const
inline

◆ operator=()

template<bool Const, typename ValueT>
GenericObject & GenericObject< Const, ValueT >::operator= ( const GenericObject< Const, ValueT > & rhs)
inline

◆ operator[]() [1/2]

template<bool Const, typename ValueT>
template<typename SourceAllocator>
ValueType & GenericObject< Const, ValueT >::operator[] ( const GenericValue< EncodingType, SourceAllocator > & name) const
inline

◆ operator[]() [2/2]

template<bool Const, typename ValueT>
template<typename T>
ValueType & GenericObject< Const, ValueT >::operator[] ( T * name) const
inline

◆ RAPIDJSON_DISABLEIF_RETURN() [1/2]

template<bool Const, typename ValueT>
template<typename T>
GenericObject< Const, ValueT >::RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >) ,
(GenericObject< Const, ValueT >)  )

◆ RAPIDJSON_DISABLEIF_RETURN() [2/2]

template<bool Const, typename ValueT>
template<typename T>
GenericObject< Const, ValueT >::RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >) ,
(ValueType &)  ) &

◆ RemoveAllMembers()

template<bool Const, typename ValueT>
void GenericObject< Const, ValueT >::RemoveAllMembers ( )
inline

◆ RemoveMember() [1/3]

template<bool Const, typename ValueT>
bool GenericObject< Const, ValueT >::RemoveMember ( const Ch * name) const
inline

◆ RemoveMember() [2/3]

template<bool Const, typename ValueT>
template<typename SourceAllocator>
bool GenericObject< Const, ValueT >::RemoveMember ( const GenericValue< EncodingType, SourceAllocator > & name) const
inline

◆ RemoveMember() [3/3]

template<bool Const, typename ValueT>
MemberIterator GenericObject< Const, ValueT >::RemoveMember ( MemberIterator m) const
inline

◆ GenericValue

template<bool Const, typename ValueT>
template<typename, typename>
friend class GenericValue
friend

Member Data Documentation

◆ const

template<bool Const, typename ValueT>
T AllocatorType &allocator GenericObject< Const, ValueT >::const { value_.AddMember(name, value, allocator)

◆ this

template<bool Const, typename ValueT>
return * GenericObject< Const, ValueT >::this

◆ value

template<bool Const, typename ValueT>
T GenericObject< Const, ValueT >::value

◆ value_

template<bool Const, typename ValueT>
ValueType& GenericObject< Const, ValueT >::value_
private

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