All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rapidjson::GenericMemoryBuffer< Allocator > Struct Template Reference

Represents an in-memory output byte stream. More...

#include <memorybuffer.h>

Public Types

typedef char Ch

Public Member Functions

 GenericMemoryBuffer (Allocator *allocator=0, size_t capacity=kDefaultCapacity)
void Put (Ch c)
void Flush ()
void Clear ()
void ShrinkToFit ()
Ch * Push (size_t count)
void Pop (size_t count)
const Ch * GetBuffer () const
size_t GetSize () const

Public Attributes

internal::Stack< Allocatorstack_

Static Public Attributes

static const size_t kDefaultCapacity = 256

Detailed Description

template<typename Allocator>
struct rapidjson::GenericMemoryBuffer< Allocator >

Represents an in-memory output byte stream.

This class is mainly for being wrapped by EncodedOutputStream or AutoUTFOutputStream.

It is similar to FileWriteBuffer but the destination is an in-memory buffer instead of a file.

Differences between MemoryBuffer and StringBuffer:

  1. StringBuffer has Encoding but MemoryBuffer is only a byte buffer.
  2. StringBuffer::GetString() returns a null-terminated string. MemoryBuffer::GetBuffer() returns a buffer without terminator.
Template Parameters
Allocatortype for allocating memory buffer.
implements Stream concept

The documentation for this struct was generated from the following files: