RapidJSON: rapidjson::MemoryStream Struct Reference

Public Types | Public Member Functions | Public Attributes | List of all members
rapidjson::MemoryStream Struct Reference

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

`#include <memorystream.h>`

## Public Types
typedef char | Ch

## Public Member Functions
| MemoryStream (const Ch *src, size_t size)
Ch | Peek () const
Ch | Take ()
size_t | Tell () const
Ch * | PutBegin ()
void | Put (Ch)
void | Flush ()
size_t | PutEnd (Ch *)
const Ch * | Peek4 () const

## Public Attributes
const Ch * | src_
| Current read position.
const Ch * | begin_
| Original head of the string.
const Ch * | end_
| End of stream.
size_t | size_
| Size of the stream.

## Detailed Description

Represents an in-memory input byte stream.

This class is mainly for being wrapped by EncodedInputStream or AutoUTFInputStream.

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

Differences between MemoryStream and StringStream:

1. StringStream has encoding but MemoryStream is a byte stream.
2. MemoryStream needs size of the source buffer and the buffer don't need to be null terminated. StringStream assume null-terminated string as source.
3. MemoryStream supports Peek4() for encoding detection. StringStream is specified with an encoding so it should not have Peek4().
   Note
     implements Stream concept

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

- include/rapidjson/memorystream.h