Let constness of GenericArray::ValueItaertor depending on ValueType
This commit is contained in:
parent
960324a95b
commit
effc8a8f30
@ -2325,8 +2325,8 @@ public:
|
|||||||
typedef GenericArray<false, ValueT> Array;
|
typedef GenericArray<false, ValueT> Array;
|
||||||
typedef ValueT PlainType;
|
typedef ValueT PlainType;
|
||||||
typedef typename internal::MaybeAddConst<Const,PlainType>::Type ValueType;
|
typedef typename internal::MaybeAddConst<Const,PlainType>::Type ValueType;
|
||||||
typedef typename ValueType::ValueIterator ValueIterator;
|
typedef ValueType* ValueIterator; // This may be const or non-const iterator
|
||||||
typedef typename ValueType::ConstValueIterator ConstValueIterator;
|
typedef const ValueType* ConstValueIterator;
|
||||||
typedef typename ValueType::AllocatorType AllocatorType;
|
typedef typename ValueType::AllocatorType AllocatorType;
|
||||||
typedef typename ValueType::StringRefType StringRefType;
|
typedef typename ValueType::StringRefType StringRefType;
|
||||||
|
|
||||||
@ -2341,31 +2341,26 @@ public:
|
|||||||
SizeType Size() const { return ptr_->Size(); }
|
SizeType Size() const { return ptr_->Size(); }
|
||||||
SizeType Capacity() const { return ptr_->Capacity(); }
|
SizeType Capacity() const { return ptr_->Capacity(); }
|
||||||
bool Empty() const { return ptr_->Empty(); }
|
bool Empty() const { return ptr_->Empty(); }
|
||||||
void Clear() { ptr_->Clear(); }
|
void Clear() const { ptr_->Clear(); }
|
||||||
ValueType& operator[](SizeType index) { return (*ptr_)[index]; }
|
ValueType& operator[](SizeType index) const { return (*ptr_)[index]; }
|
||||||
const ValueType& operator[](SizeType index) const { return (*ptr_)[index]; }
|
ValueIterator Begin() const { return ptr_->Begin(); }
|
||||||
ValueIterator Begin() { return ptr_->Begin(); }
|
ValueIterator End() const { return ptr_->End(); }
|
||||||
ValueIterator End() { return ptr_->End(); }
|
const GenericArray& Reserve(SizeType newCapacity, AllocatorType &allocator) const { ptr_->Reserve(newCapacity, allocator); return *this; }
|
||||||
ConstValueIterator Begin() const { return ptr_->Begin(); }
|
const GenericArray& PushBack(ValueType& value, AllocatorType& allocator) const { ptr_->PushBack(value, allocator); return *this; }
|
||||||
ConstValueIterator End() const { return ptr_->End(); }
|
|
||||||
GenericArray& Reserve(SizeType newCapacity, AllocatorType &allocator) { ptr_->Reserve(newCapacity, allocator); return *this; }
|
|
||||||
GenericArray& PushBack(ValueType& value, AllocatorType& allocator) { ptr_->PushBack(value, allocator); return *this; }
|
|
||||||
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||||
GenericArray& PushBack(ValueType&& value, AllocatorType& allocator) { ptr_->PushBack(value, allocator); return *this; }
|
const GenericArray& PushBack(ValueType&& value, AllocatorType& allocator) const { ptr_->PushBack(value, allocator); return *this; }
|
||||||
#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||||
GenericArray& PushBack(StringRefType value, AllocatorType& allocator) { ptr_->PushBack(value, allocator); return *this; }
|
const GenericArray& PushBack(StringRefType value, AllocatorType& allocator) const { ptr_->PushBack(value, allocator); return *this; }
|
||||||
template <typename T>
|
template <typename T>
|
||||||
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr<internal::IsPointer<T>, internal::IsGenericValue<T> >), (GenericArray&))
|
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr<internal::IsPointer<T>, internal::IsGenericValue<T> >), (const GenericArray&))
|
||||||
PushBack(T value, AllocatorType& allocator) { ptr_->PushBack(value, allocator); return *this; }
|
PushBack(T value, AllocatorType& allocator) const { ptr_->PushBack(value, allocator); return *this; }
|
||||||
GenericArray& PopBack() { ptr_->PopBack(); return *this; }
|
const GenericArray& PopBack() const { ptr_->PopBack(); return *this; }
|
||||||
ValueIterator Erase(ConstValueIterator pos) { return ptr_->Erase(pos); }
|
ValueIterator Erase(ConstValueIterator pos) const { return ptr_->Erase(pos); }
|
||||||
ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) { return ptr_->Erase(first, last); }
|
ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) const { return ptr_->Erase(first, last); }
|
||||||
|
|
||||||
#if RAPIDJSON_HAS_CXX11_RANGE_FOR
|
#if RAPIDJSON_HAS_CXX11_RANGE_FOR
|
||||||
ValueIterator begin() { return ptr_->Begin(); }
|
ValueIterator begin() const { return ptr_->Begin(); }
|
||||||
ValueIterator end() { return ptr_->End(); }
|
ValueIterator end() const { return ptr_->End(); }
|
||||||
ConstValueIterator begin() const { return ptr_->Begin(); }
|
|
||||||
ConstValueIterator end() const { return ptr_->End(); }
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user