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

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

#include <document.h>

Public Types

typedef GenericArray< true, ValueT > ConstArray
typedef GenericArray< false, ValueT > Array
typedef ValueT PlainType
typedef internal::MaybeAddConst< Const, PlainType >::Type ValueType
typedef ValueTypeValueIterator
typedef const ValueT * ConstValueIterator
typedef ValueType::AllocatorType AllocatorType
typedef ValueType::StringRefType StringRefType

Public Member Functions

 GenericArray (const GenericArray &rhs)
GenericArrayoperator= (const GenericArray &rhs)
 ~GenericArray ()
SizeType Size () const
SizeType Capacity () const
bool Empty () const
void Clear () const
ValueTypeoperator[] (SizeType index) const
ValueIterator Begin () const
ValueIterator End () const
GenericArray Reserve (SizeType newCapacity, AllocatorType &allocator) const
GenericArray PushBack (ValueType &value, AllocatorType &allocator) const
GenericArray PushBack (StringRefType value, AllocatorType &allocator) const
template<typename T>
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(const GenericArray &)) PushBack(T value
GenericArray PopBack () const
ValueIterator Erase (ConstValueIterator pos) const
ValueIterator Erase (ConstValueIterator first, ConstValueIterator last) const

Public Attributes

AllocatorType &allocator const { value_.PushBack(value, allocator)
return * this

Private Member Functions

 GenericArray ()
 GenericArray (ValueType &value)

Private Attributes

ValueTypevalue_

Friends

template<typename, typename>
class GenericValue

Detailed Description

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

Helper class for accessing Value of array type.

Instance of this helper class is obtained by GenericValue::GetArray(). 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 GenericArray< Const, ValueT >::AllocatorType

◆ Array

template<bool Const, typename ValueT>
typedef GenericArray<false, ValueT> GenericArray< Const, ValueT >::Array

◆ ConstArray

template<bool Const, typename ValueT>
typedef GenericArray<true, ValueT> GenericArray< Const, ValueT >::ConstArray

◆ ConstValueIterator

template<bool Const, typename ValueT>
typedef const ValueT* GenericArray< Const, ValueT >::ConstValueIterator

◆ PlainType

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

◆ StringRefType

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

◆ ValueIterator

template<bool Const, typename ValueT>
typedef ValueType* GenericArray< Const, ValueT >::ValueIterator

◆ ValueType

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

Constructor & Destructor Documentation

◆ GenericArray() [1/3]

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

◆ ~GenericArray()

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

◆ GenericArray() [2/3]

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

◆ GenericArray() [3/3]

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

Member Function Documentation

◆ Begin()

template<bool Const, typename ValueT>
ValueIterator GenericArray< Const, ValueT >::Begin ( ) const
inline

◆ Capacity()

template<bool Const, typename ValueT>
SizeType GenericArray< Const, ValueT >::Capacity ( ) const
inline

◆ Clear()

template<bool Const, typename ValueT>
void GenericArray< Const, ValueT >::Clear ( ) const
inline

◆ Empty()

template<bool Const, typename ValueT>
bool GenericArray< Const, ValueT >::Empty ( ) const
inline

◆ End()

template<bool Const, typename ValueT>
ValueIterator GenericArray< Const, ValueT >::End ( ) const
inline

◆ Erase() [1/2]

template<bool Const, typename ValueT>
ValueIterator GenericArray< Const, ValueT >::Erase ( ConstValueIterator first,
ConstValueIterator last ) const
inline

◆ Erase() [2/2]

template<bool Const, typename ValueT>
ValueIterator GenericArray< Const, ValueT >::Erase ( ConstValueIterator pos) const
inline

◆ operator=()

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

◆ operator[]()

template<bool Const, typename ValueT>
ValueType & GenericArray< Const, ValueT >::operator[] ( SizeType index) const
inline

◆ PopBack()

template<bool Const, typename ValueT>
GenericArray GenericArray< Const, ValueT >::PopBack ( ) const
inline

◆ PushBack() [1/2]

template<bool Const, typename ValueT>
GenericArray GenericArray< Const, ValueT >::PushBack ( StringRefType value,
AllocatorType & allocator ) const
inline

◆ PushBack() [2/2]

template<bool Const, typename ValueT>
GenericArray GenericArray< Const, ValueT >::PushBack ( ValueType & value,
AllocatorType & allocator ) const
inline

◆ RAPIDJSON_DISABLEIF_RETURN()

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

◆ Reserve()

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

◆ Size()

template<bool Const, typename ValueT>
SizeType GenericArray< Const, ValueT >::Size ( ) const
inline

◆ GenericValue

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

Member Data Documentation

◆ const

template<bool Const, typename ValueT>
AllocatorType& allocator GenericArray< Const, ValueT >::const { value_.PushBack(value, allocator)

◆ this

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

◆ value_

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

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