MrSID Decode SDK for LiDAR Reference Manual  1.1.4.4709
StreamWriter Class Reference

StreamWriter implements buffered writes to IO objects.

#include <Stream.h>

Inheritance diagram for StreamWriter:
Stream

List of all members.

Public Member Functions

 ~StreamWriter (void)
 StreamWriter (void)
void init (IO *io, bool open, size_t bufferSize=DefaultBufferSize)
 Initalize the writer.
void open (size_t bufferSize=DefaultBufferSize)
 Open the IO object.
void close (bool doFlush=true)
 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 write (const void *buf, size_t nbytes)
 Write data.
template<typename TYPE >
bool put_le (TYPE value)
 Write little endian data.
template<typename TYPE >
bool put_be (TYPE value)
 Write little endian data.
bool put_str (const char *str, size_t length=static_cast< size_t >(-1))
 Write a string.
bool copy (IO *io, offset_type offset, offset_type length)
 Copy data from an IO object.
bool copy (IO::Location &location)
 Copy data from an IO object.
bool copy (StreamReader &stream, offset_type length)
 Copy data from an ReaderStream.

Detailed Description

Definition at line 204 of file Stream.h.


Constructor & Destructor Documentation


Member Function Documentation

void StreamWriter::close ( bool  doFlush = true)

This method flushs any buffered data if doFlush is true and then closes the underlying IO object.

bool StreamWriter::copy ( IO io,
offset_type  offset,
offset_type  length 
)

This method copies length bytes for io at offset.

Parameters:
iothe source IO object
offsetthe byte offset to source data
lengththe number of bytes to copy
Returns:
true for success
bool StreamWriter::copy ( IO::Location location)

This method copies the data pointed to by location.

Parameters:
locationthe location of the data
Returns:
true for success
bool StreamWriter::copy ( StreamReader stream,
offset_type  length 
)

This method copies the next length bytes from stream

Parameters:
streamthe source stream
lengththe number of bytes to copy
Returns:
true for success
void StreamWriter::flush ( void  )

This method wirtes any buffered data to the IO object.

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

This method binds the stream to a IO object.

Parameters:
iothe destination IO object
openif true init() will call open()
bufferSizethe buffer size that is passed to open()
void StreamWriter::open ( size_t  bufferSize = DefaultBufferSize)

This method opens the underlying IO object,

Parameters:
bufferSizethe size of buffered writes
template<typename TYPE >
bool StreamWriter::put_be ( TYPE  value) [inline]

This method writes sizeof(TYPE) bytes in big endian format.

Parameters:
valuethe source value
Returns:
true for success

Definition at line 298 of file Stream.h.

References HOST_IS_LITTLE_ENDIAN, and write().

template<typename TYPE >
bool StreamWriter::put_le ( TYPE  value) [inline]

This method writes sizeof(TYPE) bytes in little endian format.

Parameters:
valuethe source value
Returns:
true for success

Definition at line 283 of file Stream.h.

References HOST_IS_BIG_ENDIAN, and write().

bool StreamWriter::put_str ( const char *  str,
size_t  length = static_cast< size_t >(-1) 
)

This method writes the string with given length.

Parameters:
strthe source string
lengththe number of bytes to write if length is -1 put_str() uses the null terminator length.
Returns:
true for success
void StreamWriter::seek ( offset_type  offset,
Mode  whence 
)

This method flushs any beffered data then sets the file offset. See Mode for offset origin.

Parameters:
offsetnumber bytes to move
whencethe origin of movement

This method get the current file offset.

size_t StreamWriter::write ( const void *  buf,
size_t  nbytes 
)

This method writes nbytes from the given buffer.

Parameters:
bufthe source buffer
nbytesthe number of bytes to write
Returns:
the number bytes actually written

Referenced by put_be(), and put_le().


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