Cinder  0.9.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
cinder::IStreamMem Class Reference

#include <Stream.h>

Inherits cinder::IStreamCinder.

Public Types

enum  Endianness { STREAM_BIG_ENDIAN, STREAM_LITTLE_ENDIAN }
 

Public Member Functions

 ~IStreamMem ()
 
size_t readDataAvailable (void *dest, size_t maxSize)
 
void seekAbsolute (off_t absoluteOffset)
 
void seekRelative (off_t relativeOffset)
 
off_t tell () const
 
off_t size () const
 
bool isEof () const
 
const void * getData ()
 
template<typename T >
void read (T *t)
 
void read (std::string *s)
 
void read (fs::path *p)
 
template<typename T >
void readEndian (T *t, uint8_t endian)
 
template<typename T >
void readBig (T *t)
 
template<typename T >
void readLittle (T *t)
 
void readFixedString (char *t, size_t maxSize, bool nullTerminate)
 
void readFixedString (std::string *t, size_t size)
 
std::string readLine ()
 
void readData (void *dest, size_t size)
 
const fs::path & getFileName () const
 
void setFileName (const fs::path &aFileName)
 
bool getDeleteOnDestroy () const
 
void setDeleteOnDestroy (bool enable=true)
 

Static Public Member Functions

static IStreamMemRef create (const void *data, size_t size)
 
static uint8_t getNativeEndianness ()
 

Protected Member Functions

 IStreamMem (const void *aData, size_t aDataSize)
 
virtual void IORead (void *t, size_t size)
 

Protected Attributes

const uint8_t * mData
 
size_t mDataSize
 
size_t mOffset
 
fs::path mFileName
 
bool mDeleteOnDestroy
 

Static Protected Attributes

static const int MINIMUM_BUFFER_SIZE = 8
 

Member Enumeration Documentation

Enumerator
STREAM_BIG_ENDIAN 
STREAM_LITTLE_ENDIAN 

Constructor & Destructor Documentation

cinder::IStreamMem::~IStreamMem ( )
cinder::IStreamMem::IStreamMem ( const void *  aData,
size_t  aDataSize 
)
protected

Member Function Documentation

IStreamMemRef cinder::IStreamMem::create ( const void *  data,
size_t  size 
)
static

Creates a new IStreamMemRef from the memory pointed to by data which is of size size bytes.

size_t cinder::IStreamMem::readDataAvailable ( void *  dest,
size_t  maxSize 
)
virtual

Implements cinder::IStreamCinder.

void cinder::IStreamMem::seekAbsolute ( off_t  absoluteOffset)
virtual

Sets the current position of the stream to byte absoluteOffset. A negative offset is relative to the end of the file.

Implements cinder::StreamBase.

void cinder::IStreamMem::seekRelative ( off_t  relativeOffset)
virtual

Moves the current position of the stream by relativeOffset bytes.

Implements cinder::StreamBase.

off_t cinder::IStreamMem::tell ( ) const
virtual

Returns the current offset into the stream in bytes.

Implements cinder::StreamBase.

off_t cinder::IStreamMem::size ( ) const
virtual

Returns the total length of stream in bytes.

Implements cinder::IStreamCinder.

bool cinder::IStreamMem::isEof ( ) const
virtual

Returns whether the stream is currently pointed at the end of the file.

Implements cinder::IStreamCinder.

const void* cinder::IStreamMem::getData ( )

Returns a pointer to the data which the stream wraps.

void cinder::IStreamMem::IORead ( void *  t,
size_t  size 
)
protectedvirtual

Implements cinder::IStreamCinder.

template<typename T >
void cinder::IStreamCinder::read ( T *  t)
inherited
void cinder::IStreamCinder::read ( std::string *  s)
inherited

Reads characters until a null terminator.

void cinder::IStreamCinder::read ( fs::path *  p)
inherited
template<typename T >
void cinder::IStreamCinder::readEndian ( T *  t,
uint8_t  endian 
)
inherited
template<typename T >
void cinder::IStreamCinder::readBig ( T *  t)
inherited
template<typename T >
void cinder::IStreamCinder::readLittle ( T *  t)
inherited
void cinder::IStreamCinder::readFixedString ( char *  t,
size_t  maxSize,
bool  nullTerminate 
)
inherited
void cinder::IStreamCinder::readFixedString ( std::string *  t,
size_t  size 
)
inherited
std::string cinder::IStreamCinder::readLine ( )
inherited
void cinder::IStreamCinder::readData ( void *  dest,
size_t  size 
)
inherited
static uint8_t cinder::StreamBase::getNativeEndianness ( )
staticinherited

Returns the platform's endianness as a StreamBase::Endianness.

const fs::path& cinder::StreamBase::getFileName ( ) const
inherited

Returns the file name of the path from which a Stream originated when relevant. Empty string when undefined.

void cinder::StreamBase::setFileName ( const fs::path &  aFileName)
inherited

Sets the file name of the path from which a Stream originated when relevant. Empty string when undefined.

bool cinder::StreamBase::getDeleteOnDestroy ( ) const
inherited

Returns whether the Stream has been requested to destroy its source upon its own destruction. For example, IStreamFile will delete its source file. Ignored in some types of streams. Defaults to false.

void cinder::StreamBase::setDeleteOnDestroy ( bool  enable = true)
inherited

Sets whether the Stream has been requested to destroy its source upon its own destruction. For example, IStreamFile will delete its source file. Ignored in some types of streams. Defaults to false.

Member Data Documentation

const uint8_t* cinder::IStreamMem::mData
protected
size_t cinder::IStreamMem::mDataSize
protected
size_t cinder::IStreamMem::mOffset
protected
const int cinder::IStreamCinder::MINIMUM_BUFFER_SIZE = 8
staticprotectedinherited
fs::path cinder::StreamBase::mFileName
protectedinherited
bool cinder::StreamBase::mDeleteOnDestroy
protectedinherited

The documentation for this class was generated from the following files: