# Cinder

# cinder::IStream Class Reference

`#include <Stream.h>`

Inherits cinder::StreamBase.

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

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 | 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 std::string & | getFileName () const
| Returns the file name of the path from which a Stream originated when relevant. Empty string when undefined.
void | setFileName (const std::string &aFileName)
| Sets the file name of the path from which a Stream originated when relevant. Empty string when undefined.
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
std::string | mFileName
## Static Protected Attributes
static const int | MINIMUM_BUFFER_SIZE = 8

## Member Enumeration Documentation

enum cinder::StreamBase::Endianness`[inherited]`

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::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]`

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

virtual off_t cinder::IStream::size | ( |  | ) | const`[pure virtual]`

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

virtual bool cinder::IStream::isEof | ( |  | ) | const`[pure virtual]`

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

virtual void cinder::IStream::IORead | ( | void * | t,
|  | size_t | size |
| ) |  |  | `[protected, pure virtual]`

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

static uint8_t cinder::StreamBase::getNativeEndianness | ( |  | ) | `[static, inherited]`

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

const std::string& 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 std::string & | aFileName | ) | `[inherited]`

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

virtual off_t cinder::StreamBase::tell | ( |  | ) | const`[pure virtual, inherited]`

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

Implemented in cinder::IStreamFile, cinder::OStreamFile, cinder::IoStreamFile, cinder::IStreamMem, cinder::OStreamMem, 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::IStreamFile, cinder::OStreamFile, cinder::IoStreamFile, cinder::IStreamMem, cinder::OStreamMem, 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::IStreamFile, cinder::OStreamFile, cinder::IoStreamFile, cinder::IStreamMem, cinder::OStreamMem, and cinder::IStreamUrl.

## Member Data Documentation

const int cinder::IStream::MINIMUM_BUFFER_SIZE = 8`[static, protected]`

return cinder::StreamBase::STREAM_BIG_ENDIAN`[inherited]`

std::string cinder::StreamBase::mFileName`[protected, inherited]`

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

- include/cinder/Stream.h
- src/cinder/Stream.cpp