MrSID Decode SDK for LiDAR Reference Manual 1.1.4.4709

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
StreamWriter Class Reference

StreamWriter implements buffered writes to IO objects.

`#include <Stream.h>`

Inheritance diagram for StreamWriter:
[legend]
Collaboration diagram for StreamWriter:
[legend]

## Public Member Functions
| ~StreamWriter (void)
| StreamWriter (void)
void | init (IO *io, bool open, size_t bufferSize=DefaultBufferSize)
| Initalize the writer. More...
void | open (size_t bufferSize=DefaultBufferSize)
| Open the IO object. More...
void | close (bool doFlush=true)
| Close the IO object. More...
void | flush (void)
| Flush the memory buffer. More...
void | seek (offset_type offset, Mode whence)
| Set the file offset. More...
offset_type | tell (void)
| Get the current file offset. More...
size_t | write (const void *buf, size_t nbytes)
| Write data. More...
template<typename TYPE >
bool | put_le (TYPE value)
| Write little endian data. More...
template<typename TYPE >
bool | put_be (TYPE value)
| Write little endian data. More...
bool | put_str (const char *str, size_t length=static_cast< size_t >(-1))
| Write a string. More...
bool | copy (IO *io, offset_type offset, offset_type length)
| Copy data from an IO object. More...
bool | copy (IO::Location &location)
| Copy data from an IO object. More...
bool | copy (StreamReader &stream, offset_type length)
| Copy data from an ReaderStream. More...
Public Member Functions inherited from Stream
IO * | getIO ()
| Get the underlying IO object. More...

## Additional Inherited Members
Public Types inherited from Stream
enum | { DefaultBufferSize = 1 << 12 }
| Default Buffer Size (4096). More...
enum | Mode { MODE_SET = 0, MODE_CUR = 1, MODE_END = 2 }
| Seek offset origin. More...
typedef IO::offset_type | offset_type
| Integer data type for seek() and tell() offsets. More...
Protected Types inherited from Stream
typedef unsigned char | byte_t
Protected Member Functions inherited from Stream
| ~Stream (void)
| Stream (void)
Protected Attributes inherited from Stream
IO * | m_io
size_t | m_size
offset_type | m_pos
byte_t * | m_head
byte_t * | m_cur
byte_t * | m_tail

## Detailed Description

Definition at line 204 of file Stream.h.

## Constructor & Destructor Documentation

StreamWriter::~StreamWriter | ( | void | ) |  |

StreamWriter::StreamWriter | ( | void | ) |  |

## 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

  io | the source IO object
  offset | the byte offset to source data
  length | the 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

  location | the 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

  stream | the source stream
  length | the 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

  io | the destination IO object
  open | if true init() will call open()
  bufferSize | the buffer size that is passed to open()

void StreamWriter::open | ( | size_t | bufferSize = `DefaultBufferSize`) |  |

This method opens the underlying IO object,

Parameters

  bufferSize | the 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

  value | the 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

  value | the 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

  str | the source string
  length | the 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

  offset | number bytes to move
  whence | the origin of movement

offset_type StreamWriter::tell | ( | void | ) |  |

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

  buf | the source buffer
  nbytes | the 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:

- Stream.h

LizardTech