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::IoStream Class Referenceabstract

#include <Stream.h>

Inherits cinder::IStreamCinder, and cinder::OStream.

Inherited by cinder::IoStreamFile.

Public Types

enum  Endianness { STREAM_BIG_ENDIAN, STREAM_LITTLE_ENDIAN }
 

Public Member Functions

 IoStream ()
 
virtual ~IoStream ()
 
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)
 
virtual size_t readDataAvailable (void *dest, size_t maxSize)=0
 
virtual off_t size () const =0
 
virtual bool isEof () const =0
 
const fs::path & getFileName () const
 
void setFileName (const fs::path &aFileName)
 
bool getDeleteOnDestroy () const
 
void setDeleteOnDestroy (bool enable=true)
 
virtual off_t tell () const =0
 
virtual void seekAbsolute (off_t absoluteOffset)=0
 
virtual void seekRelative (off_t relativeOffset)=0
 
void write (const std::string &s)
 
template<typename T >
void write (T t)
 
void write (const Buffer &buffer)
 
template<typename T >
void writeEndian (T t, uint8_t endian)
 
template<typename T >
void writeBig (T t)
 
template<typename T >
void writeLittle (T t)
 
void writeData (const void *src, size_t size)
 

Static Public Member Functions

static uint8_t getNativeEndianness ()
 

Protected Member Functions

virtual void IORead (void *t, size_t size)=0
 
virtual void IOWrite (const void *t, size_t size)=0
 

Protected Attributes

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::IoStream::IoStream ( )
virtual cinder::IoStream::~IoStream ( )
virtual

Member Function Documentation

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
virtual size_t cinder::IStreamCinder::readDataAvailable ( void *  dest,
size_t  maxSize 
)
pure virtualinherited
virtual off_t cinder::IStreamCinder::size ( ) const
pure virtualinherited
virtual bool cinder::IStreamCinder::isEof ( ) const
pure virtualinherited
virtual void cinder::IStreamCinder::IORead ( void *  t,
size_t  size 
)
protectedpure virtualinherited
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.

virtual off_t cinder::StreamBase::tell ( ) const
pure virtualinherited

Returns the current position of the stream measured in bytes **/.

Implemented in cinder::OStreamMem, cinder::IStreamMem, cinder::IoStreamFile, cinder::OStreamFile, cinder::IStreamFile, and cinder::IStreamUrl.

virtual void cinder::StreamBase::seekAbsolute ( off_t  absoluteOffset)
pure virtualinherited

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

Implemented in cinder::OStreamMem, cinder::IStreamMem, cinder::IoStreamFile, cinder::OStreamFile, cinder::IStreamFile, and cinder::IStreamUrl.

virtual void cinder::StreamBase::seekRelative ( off_t  relativeOffset)
pure virtualinherited

Moves the current position of the stream by relativeOffset bytes.

Implemented in cinder::OStreamMem, cinder::IStreamMem, cinder::IoStreamFile, cinder::OStreamFile, cinder::IStreamFile, and cinder::IStreamUrl.

void cinder::OStream::write ( const std::string &  s)
inherited

Writes null-terminated string, including terminator.

template<typename T >
void cinder::OStream::write ( t)
inherited
void cinder::OStream::write ( const Buffer buffer)
inherited
template<typename T >
void cinder::OStream::writeEndian ( t,
uint8_t  endian 
)
inherited
template<typename T >
void cinder::OStream::writeBig ( t)
inherited
template<typename T >
void cinder::OStream::writeLittle ( t)
inherited
void cinder::OStream::writeData ( const void *  src,
size_t  size 
)
inherited
virtual void cinder::OStream::IOWrite ( const void *  t,
size_t  size 
)
protectedpure virtualinherited

Member Data Documentation

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 file: