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< Allocator > | stack_

## Static Public Attributes

static const size_t | kDefaultCapacity = 256

## Detailed Description

### template<typename Allocator = CrtAllocator>
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

  Allocator | type for allocating memory buffer.

Note
  implements Stream concept

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

- include/rapidjson/memorybuffer.h