pdal::IStream
#
-
class IStream#
Stream wrapper for input of binary data.
Subclassed by pdal::IBeStream, pdal::ILeStream, pdal::ISwitchableStream
Public Functions
-
inline IStream()#
Default constructor.
-
inline IStream(const std::string &filename)#
Construct an IStream from a filename.
- Parameters:
filename – File from which to read.
-
inline IStream(std::istream *stream)#
Construct an IStream from an input stream pointer.
- Parameters:
stream – Stream from which to read.
-
inline ~IStream()#
-
inline int open(const std::string &filename)#
Open a file to extract.
- Parameters:
filename – Filename.
- Returns:
-1 if a stream is already assigned, 0 otherwise.
-
inline void close()#
Close the underlying stream.
-
inline operator bool()#
Return the state of the stream.
- Returns:
The state of the underlying stream.
-
inline void seek(std::streampos pos)#
Seek to a position in the underlying stream.
- Parameters:
pos – Position to seek to,
-
inline void seek(std::streampos off, std::ios_base::seekdir way)#
Seek to an offset from a specified position.
- Parameters:
off – Offset.
way – Absolute position for offset (beg, end or cur)
-
inline void skip(std::streamoff offset)#
Skip relative to the current position.
- Parameters:
offset – Offset from the current position.
-
inline std::streampos position() const#
Determine the position of the get pointer.
- Returns:
Current get position.
-
inline bool good() const#
Determine if the underlying stream is good.
- Returns:
Whether the underlying stream is good.
-
inline std::istream *stream()#
Fetch a pointer to the underlying stream.
- Returns:
Pointer to the underlying stream.
-
inline void pushStream(std::istream *strm)#
Temporarily push a stream to read from.
- Parameters:
strm – New stream to read from.
-
inline std::istream *popStream()#
Pop the current stream and return it.
The last stream on the stack cannot be popped.
- Returns:
Pointer to the popped stream.
-
inline void get(std::string &s, size_t size)#
Fetch data from the stream into a string.
NOTE - Stops when a null byte is encountered. Use a buffer/vector reader to read data with embedded nulls.
- Parameters:
s – String to fill.
size – Maximum number of bytes to extract.
-
inline void get(std::vector<char> &buf)#
Fetch data from the stream into a vector of char.
- Parameters:
buf – Buffer to fill.
-
inline void get(std::vector<unsigned char> &buf)#
Fetch data from the stream into a vector of unsigned char.
- Parameters:
buf – Buffer to fill.
-
inline void get(char *buf, size_t size)#
Fetch data from the stream into the specified buffer of char.
- Parameters:
buf – Buffer to fill.
size – Number of bytes to extract.
-
inline void get(unsigned char *buf, size_t size)#
Fetch data from the stream into the specified buffer of unsigned char.
- Parameters:
buf – Buffer to fill.
size – Number of bytes to extract.
-
inline IStream()#