Monero
Loading...
Searching...
No Matches
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
ChPutBegin ()
void Put (Ch)
void Flush ()
size_t PutEnd (Ch *)
const ChPeek4 () const

Public Attributes

const Chsrc_
 Current read position.
const Chbegin_
 Original head of the string.
const Chend_
 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

Member Typedef Documentation

◆ Ch

typedef char MemoryStream::Ch

Constructor & Destructor Documentation

◆ MemoryStream()

MemoryStream::MemoryStream ( const Ch * src,
size_t size )
inline

Member Function Documentation

◆ Flush()

void MemoryStream::Flush ( )
inline

◆ Peek()

Ch MemoryStream::Peek ( ) const
inline

◆ Peek4()

const Ch * MemoryStream::Peek4 ( ) const
inline

◆ Put()

void MemoryStream::Put ( Ch )
inline

◆ PutBegin()

Ch * MemoryStream::PutBegin ( )
inline

◆ PutEnd()

size_t MemoryStream::PutEnd ( Ch * )
inline

◆ Take()

Ch MemoryStream::Take ( )
inline

◆ Tell()

size_t MemoryStream::Tell ( ) const
inline

Member Data Documentation

◆ begin_

const Ch* MemoryStream::begin_

Original head of the string.

◆ end_

const Ch* MemoryStream::end_

End of stream.

◆ size_

size_t MemoryStream::size_

Size of the stream.

◆ src_

const Ch* MemoryStream::src_

Current read position.


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