Inheritance diagram for CP_FileInStream:
Public Member Functions | |
Constructor / Destructor | |
CP_FileInStream (CP_File &inFile, bool inHasHeader=true) | |
Constructor. | |
virtual | ~CP_FileInStream () throw () |
Destructor. | |
Getters | |
virtual UInt32 | GetLength () const |
Positioning | |
virtual UInt32 | GetPosition () const |
virtual void | SetPosition (UInt32 inPosition) |
Protected Member Functions | |
Reading | |
virtual UInt32 | OnReadBytes (void *inDestBuffer, UInt32 inNumberBytes) |
Protected Attributes | |
CP_File & | fFile |
bool | fHasReadHeader |
bool | fNeedsByteSwap |
UInt16 | fCPLATStreamVersion |
bool | fHasTaggedData |
bool | fHasHeader |
char | fDesiredEdian |
|
Constructor.
|
|
Destructor.
|
|
Returns the length of the file used with this stream.
Implements CP_InStream. |
|
Returns the current file marker or position of the file used with this stream.
Implements CP_InStream. |
|
Sets the current file marker or position of the file used with this stream.
Implements CP_InStream. |
|
Reads data from our file, placing the data in the passed in buffer. The buffer should be at least as large as the passed in inBytesToRead. This method will return the actual number of bytes read.
Implements CP_InStream. |
|
Reads some data from the stream. Used by the >> operators to read the data, but can also be used in an application.
|
|
|
|
|
|
|
|
|
|
Returns true if the stream has reached the end.
Reimplemented in CP_SocketInStream. |
|
Returns true if the data type is written before each elemement. This is intended in debugging the stream data since it increases the size of the resulting stream.
|
|
Reads the tag before a data element if the streamed data has tagged data.
|
|
Reads the header portion of our stream.
|
|
|
|
|
|
Flag to indicate if we have read the header. |
|
Flag to indicate if we need to byte swap the data. |
|
CPLAT stream version used to write this stream. |
|
Flag to indicate if the data has its type written out also. |
|
Flag to indicate if we are want to read data not created by this framework and therefore won't have a correct header. |