class Geo IffReader

This is the documentation for Enlighten.

class Geo IffReader

class Geo::IffReader

    └>Geo::IGeoInputStream

An IffReader allows you to use an IGeoStream to read Iff format binary files easily.

It is passed an IGeoStream in its constructor and also implements IGeoStream, thus making it like an Adaptor pattern. Although the class uses the function name 'BeginFile' the underlying stream can be of any type.

Functions

Name

Description

Name

Description

~IGeoInputStream()

Deleting a stream should behave like a close operation.

BeginFile()

Step into the main FORM chunk, extract the file type tag.

Fail()

Put the reader directly into a fail state.

GetChunkSize()

Return the size of the current chunk.

GetFileType()

Return the file type tag that was stored in IffReader::BeginFile()

GetFileVersion()

Return the file version code that was stored in IffReader::BeginFile()

GetNextChunk(bool)

The method of reading Iff files is to iterate over the chunks by calling 'GetNextChunk' until the function returns Iff::EOFTag.

GetPosition()

Wrap the IGeoStream::GetPosition function.

GetPosition()

Return the position of the read/write pointer within the stream (prototype matches ftell)

IffReader(IGeoInputStream &)

Construct an IffReader with a pre-existing IGeoStream.

IsEof()

Wrap the IGeoStream::IsEof function.

IsEof()

Is the read pointer at the end of the file (as with feof, only returns true if you have read past end)

IsOk()

Wrap the IGeoStream::IsOk function, returning status of the IffWriter also.

IsOk()

Tests if the stream is valid.

IsReaderOk()

Return status of the reader Note: Prefer to use the IGeoStream::IsOk() method.

Read(void *, size_t, size_t)

Read data (prototype matches fread). Prefer to use the templated Read methods.

Read(void *, size_t, size_t)

Wrap the IGeoStream::Read function, tracking the return code.

Read(T &)

Read a single object, returning true on success.

Read(TIter, TIter)

Read a collection of objects, returning true on success.

Read(T(&))

Read a fixed size array.

ReadImpl(T &, GeoStd::TrueType)

Read a single object, returning true on success.

ReadImpl(T &, GeoStd::FalseType)

Read a single object, returning true on success.

ReadToEnd()

Reads the stream to its end and returns the data as a char array.

SetPosition(u64)

Wrap the IGeoStream::SetPosition function, be careful when jumping around inside IffReader.

SetPosition(Geo::u64)

Set the position of the read/write pointer within the stream (prototype matches fseek)



virtual Geo::IGeoInputStream::~IGeoInputStream


public: virtual ~IGeoInputStream()


Deleting a stream should behave like a close operation.



bool Geo::IffReader::BeginFile


public: bool BeginFile()