15#ifndef RAPIDJSON_MEMORYBUFFER_H_
16#define RAPIDJSON_MEMORYBUFFER_H_
19#include "internal/stack.h"
21RAPIDJSON_NAMESPACE_BEGIN
36template <
typename Allocator = CrtAllocator>
45 void Clear() { stack_.Clear(); }
46 void ShrinkToFit() { stack_.ShrinkToFit(); }
47 Ch* Push(
size_t count) {
return stack_.template
Push<Ch>(count); }
48 void Pop(
size_t count) { stack_.template
Pop<Ch>(count); }
50 const Ch* GetBuffer()
const {
54 size_t GetSize()
const {
return stack_.GetSize(); }
56 static const size_t kDefaultCapacity = 256;
57 mutable internal::Stack<Allocator> stack_;
68RAPIDJSON_NAMESPACE_END
Concept for allocating, resizing and freeing memory block.
void PutN(FileWriteStream &stream, char c, size_t n)
Implement specialized version of PutN() with memset() for better performance.
Definition filewritestream.h:94
Name-value pair in a JSON object value.
Definition document.h:71
Represents an in-memory output byte stream.
Definition memorybuffer.h:37