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
StreamReader Class Reference

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

`#include <Stream.h>`

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

## Public Member Functions
| ~StreamReader (void)
| StreamReader (void)
void | init (IO *io, bool open, size_t bufferSize=DefaultBufferSize)
| Initalize the reader. More...
void | init (const IO::Location &location, size_t bufferSize=DefaultBufferSize)
| Initalize the reader. More...
void | open (size_t bufferSize=DefaultBufferSize)
| Open the IO object. More...
void | close (void)
| 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 | read (void *buf, size_t nbytes)
| Read data. More...
template<typename TYPE >
bool | get_le (TYPE &value)
| Read little endian data. More...
template<typename TYPE >
bool | get_be (TYPE &value)
| Read big endian data. More...
bool | get_str (char *&line, size_t &length)
| Read the next line of text. 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

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::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.

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().

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().

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

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

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().

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.

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

- Stream.h

LizardTech