StreamReader Class Reference

StreamReader implements buffered reads from IO objects. More...

#include <Stream.h>

Inheritance diagram for StreamReader:

Stream

List of all members.

Public Member Functions

 ~StreamReader (void)
 StreamReader (void)
void init (IO *io, bool open, size_t bufferSize=DefaultBufferSize)
 Initalize the reader.
void init (const IO::Location &location, size_t bufferSize=DefaultBufferSize)
 Initalize the reader.
void open (size_t bufferSize=DefaultBufferSize)
 Open the IO object.
void close (void)
 Close the IO object.
void flush (void)
 Flush the memory buffer.
void seek (offset_type offset, Mode whence)
 Set the file offset.
offset_type tell (void)
 Get the current file offset.
size_t read (void *buf, size_t nbytes)
 Read data.
template<typename TYPE>
bool get_le (TYPE &value)
 Read little endian data.
template<typename TYPE>
bool get_be (TYPE &value)
 Read big endian data.
bool get_str (char *&line, size_t &length)
 Read the next line of text.


Detailed Description

See also:
See examples/src/support.cpp compareTXTFiles() for an example of reading a file.

Definition at line 75 of file Stream.h.


Constructor & Destructor Documentation

StreamReader::~StreamReader ( void   ) 

StreamReader::StreamReader ( void   ) 


Member Function Documentation

void StreamReader::init ( IO io,
bool  open,
size_t  bufferSize = DefaultBufferSize 
)

This method binds the stream to a IO object.

Parameters:
io the source IO object
open if true init() will call open()
bufferSize the buffer size that is passed to open()

void StreamReader::init ( const IO::Location location,
size_t  bufferSize = DefaultBufferSize 
)

This method binds the stream to a IO object and seeks to the given offset.

Parameters:
location the source IO object and the begining offset
bufferSize the buffer size that is passed to open()

void StreamReader::open ( size_t  bufferSize = DefaultBufferSize  ) 

This method opens the underlying IO object.

Parameters:
bufferSize the size of buffered reads

void StreamReader::close ( void   ) 

This method closes the underlying IO object.

void StreamReader::flush ( void   ) 

This method disregard any data in the buffer and causes the next read() to get dat from the underlying IO object.

void StreamReader::seek ( offset_type  offset,
Mode  whence 
)

This method sets the file offset. See Mode for offset origin.

Parameters:
offset number bytes to move
whence the origin of movement

offset_type StreamReader::tell ( void   ) 

This method get the current file offset.

size_t StreamReader::read ( void *  buf,
size_t  nbytes 
)

This method reads nbytes into the given buffer.

Parameters:
buf the destination buffer
nbytes the number of bytes to read
Returns:
the number bytes actually read

Referenced by get_be(), and get_le().

template<typename TYPE>
bool StreamReader::get_le ( TYPE &  value  )  [inline]

This method reads sizeof(TYPE) bytes and endian swaps as needed.

Parameters:
value the destination
Returns:
true for success

Definition at line 163 of file Stream.h.

References HOST_IS_BIG_ENDIAN, and read().

template<typename TYPE>
bool StreamReader::get_be ( TYPE &  value  )  [inline]

This method reads sizeof(TYPE) bytes and endian swaps as needed.

Parameters:
value the destination
Returns:
true for success

Definition at line 179 of file Stream.h.

References HOST_IS_LITTLE_ENDIAN, and read().

bool StreamReader::get_str ( char *&  line,
size_t &  length 
)

This method reads the next line of the file. It uses '
' as the line terminator. This method also allocates memory as needed and it is the responsible of the caller to DEALLOC() the returned line buffer.

Parameters:
line pointer to the line buffer
length the length of the line buffer
Returns:
true for success


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

LizardTech