Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
cinder::IStream Class Reference

#include <Stream.h>

Inherits cinder::StreamBase.

Inherited by cinder::IoStream, cinder::IStreamFile, cinder::IStreamMem, and cinder::IStreamUrl.

List of all members.

Public Types

enum  Endianness { STREAM_BIG_ENDIAN, STREAM_LITTLE_ENDIAN }

Public Member Functions

virtual ~IStream ()
template<typename T >
void read (T *t)
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 read (std::string *s)
 Reads characters until a null terminator.
void read (ci::fs::path *p)
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
 Returns the file name of the path from which a Stream originated when relevant. Empty string when undefined.
void setFileName (const fs::path &aFileName)
 Sets the file name of the path from which a Stream originated when relevant. Empty string when undefined.
bool getDeleteOnDestroy () const
 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 setDeleteOnDestroy (bool enable=true)
 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 tell () const =0
 Returns the current position of the stream measured in bytes **/.
virtual void seekAbsolute (off_t absoluteOffset)=0
 Sets the current position of the stream to byte absoluteOffset. A negative offset is relative to the end of the file.
virtual void seekRelative (off_t relativeOffset)=0
 Moves the current position of the stream by relativeOffset bytes.

Static Public Member Functions

static uint8_t getNativeEndianness ()

Public Attributes

return STREAM_BIG_ENDIAN

Protected Member Functions

 IStream ()
virtual void IORead (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

virtual cinder::IStream::~IStream ( ) [virtual]
cinder::IStream::IStream ( ) [protected]

Member Function Documentation

template<typename T >
void cinder::IStream::read ( T *  t)
template<typename T >
void cinder::IStream::readEndian ( T *  t,
uint8_t  endian 
)
template<typename T >
void cinder::IStream::readBig ( T *  t)
template<typename T >
void cinder::IStream::readLittle ( T *  t)
void cinder::IStream::read ( std::string *  s)

Reads characters until a null terminator.

void cinder::IStream::read ( ci::fs::path *  p)
void cinder::IStream::readFixedString ( char *  t,
size_t  maxSize,
bool  nullTerminate 
)
void cinder::IStream::readFixedString ( std::string *  t,
size_t  size 
)
std::string cinder::IStream::readLine ( )
void cinder::IStream::readData ( void *  dest,
size_t  size 
)
virtual size_t cinder::IStream::readDataAvailable ( void *  dest,
size_t  maxSize 
) [pure virtual]
virtual off_t cinder::IStream::size ( ) const [pure virtual]
virtual bool cinder::IStream::isEof ( ) const [pure virtual]
virtual void cinder::IStream::IORead ( void *  t,
size_t  size 
) [protected, pure virtual]
static uint8_t cinder::StreamBase::getNativeEndianness ( ) [static, inherited]

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 virtual, inherited]

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 virtual, inherited]

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 virtual, inherited]

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.


Member Data Documentation

const int cinder::IStream::MINIMUM_BUFFER_SIZE = 8 [static, protected]
fs::path cinder::StreamBase::mFileName [protected, inherited]
bool cinder::StreamBase::mDeleteOnDestroy [protected, inherited]

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