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 = 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
Allocatortype for allocating memory buffer.
Note
implements Stream concept

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