rapidjson::MemoryStream结构体 参考

Represents an in-memory input byte stream. 更多...

#include <memorystream.h>

Public 类型

typedef char Ch

Public 成员函数

 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 属性

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.


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().
    implements Stream concept