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

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

#include <memorystream.h>

Collaboration diagram for MemoryStream:
[legend]

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. More...
 
const Chbegin_
 Original head of the string. More...
 
const Chend_
 End of stream. More...
 
size_t size_
 Size of the stream. More...
 

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
Here is the call graph for this function:

◆ 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
Here is the caller graph for this function:

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: