Module: Advanced Tools Package: Streams
RWFilteredByteInputStreamImp RWByteInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase
available() close() getSourceStream() |
isBad() isEof() isFail() |
isGood() read() readUntil() |
RWFilteredByteInputStreamImp() skip() ~RWFilteredByteInputStreamImp() |
#include <rw/stream/RWFilteredByteInputStreamImp.h>
Abstract base class for all the filtered binary input stream implementation classes. A filtered input stream is a stream that uses its attached input stream as the source of elements to its own functions. Implements the body idiom from the handle-body pattern.
RWFilteredByteInputStreamImp(RWByteInputStream& sourceStream);
Used by derived classes to initialize the attached source stream.
Parameter List
sourceStream |
A handle to the attached source stream. |
virtual ~RWFilteredByteInputStreamImp();
Destructor.
virtual RWSize available() const;
Returns the number of bytes that can be read from the attached source stream without blocking. Throws no exceptions.
virtual void close();
Forwards the close() request to the attached source stream.
virtual bool isBad() const;
Forwards the isBad() request to the attached source stream. Throws no exceptions.
virtual bool isEof() const;
Forwards the isEof() request to the attached source stream. Throws no exceptions.
virtual bool isFail() const;
Forwards the isFail() request to the attached source stream. Throws no exceptions.
virtual bool isGood() const;
Forwards the isGood() request to the attached source stream. Throws no exceptions.
virtual RWByte read();
Forwards the reading of a single byte to the attached source stream.
virtual RWSize read(RWByte* byteArray, RWSize numBytes);
Forwards the reading of an array of bytes from the attached source stream. The function returns the actual number of bytes read.
Parameter List
byteArray |
A pointer to the first element of the array. The array must have been pre-allocated to contain at least numBytes elements. |
numBytes |
The number of bytes to be read from the stream. |
virtual RWSize readUntil(RWByte* byteArray, RWSize maxSize, RWByte delim);
Reads bytes from the attached source stream until the last byte read is equal to delim, or maxSize bytes have been read, or the end of the input sequence is reached. The bytes read are stored in byteArray. The function returns the actual number of bytes read from the stream.
Parameter List
byteArray |
A pointer to the array receiving the bytes extracted from the stream. |
maxSize |
The maximum number of bytes to be read. |
delim |
The byte value used as a delimiter. |
virtual RWSize skip(RWSize numUnits);
Skips numUnits bytes from the input sequence of the attached source stream if possible. The function returns the actual number of bytes skipped, which can be any value between 0 and numUnits.
Parameter List
numUnits |
The number of bytes to be skipped. |
RWByteInputStream& getSourceStream(); const RWByteInputStream& getSourceStream() const;
These functions return a handle to the attached source stream. They throw no exceptions.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.