SourcePro® 2024.1 |
SourcePro® API Reference Guide |
Implements a buffer that can be used with any kind of input stream. More...
#include <rw/stream/RWTInputStreamBufferImp.h>
Inherits FilteredInputStreamImp.
Public Types | |
typedef InputStream::element_type | element_type |
typedef InputStream | RWInputStream_type |
Public Member Functions | |
virtual | ~RWTInputStreamBufferImp () |
virtual RWSize | available (void) const |
virtual bool | isBad (void) const |
virtual bool | isEof (void) const |
virtual bool | isFail (void) const |
virtual bool | isGood (void) const |
virtual RWSize | read (element_type *array, RWSize num) |
virtual element_type | read (void) |
virtual RWSize | readUntil (element_type *array, RWSize maxSize, element_type delim) |
virtual RWSize | skip (RWSize numUnits) |
Static Public Member Functions | |
static InputStream | make (const InputStream &sourceStream) |
static InputStream | make (const InputStream &sourceStream, element_type *buffer, RWSize bufSize) |
static InputStream | make (const InputStream &sourceStream, RWSize bufSize) |
Protected Member Functions | |
RWTInputStreamBufferImp (const InputStream &sourceStream) | |
RWTInputStreamBufferImp (const InputStream &sourceStream, element_type *buffer, RWSize bufSize) | |
RWTInputStreamBufferImp (const InputStream &sourceStream, RWSize bufSize) | |
element_type * | eback () const |
element_type * | ebuf () const |
element_type * | egptr () const |
void | freeBuffer () |
void | gbump (RWSize n) |
element_type * | gptr () const |
void | setBufferEnd (element_type *gend_arg) |
void | setg (element_type *gbeg_arg, element_type *gcur_arg, element_type *gend_arg) |
bool | underflow () |
Friends | |
class | RWBufferedCharInputStreamImp |
The class RWTInputStreamBufferImp implements a buffer that can be used with any kind of input stream. The size of the buffer is specified in its static member make() function, which is used to create it.
typedef InputStream::element_type RWTInputStreamBufferImp< InputStream, FilteredInputStreamImp >::element_type |
A typedef for the type of element to be read from RWInputStream_type.
typedef InputStream RWTInputStreamBufferImp< InputStream, FilteredInputStreamImp >::RWInputStream_type |
A typedef for the template parameter InputStream
which will be used as the source of elements.
|
virtual |
Destructor.
|
protected |
Initializes the reference to the input stream that will be used as the source of elements, as well as the internal buffer capacity, which will be equal to RW_STREAM_BUFFER_SIZE.
sourceStream | The input stream that will serve as the source of elements. |
|
protected |
Initializes the reference to the input stream that will be used as the source of elements, as well as the buffer capacity.
sourceStream | The input stream that will serve as the source of elements. |
bufSize | The buffer capacity in number of elements. |
|
protected |
Initializes the reference to the input stream that will be used as the source of elements, as well as the internal buffer.
sourceStream | The input stream that will serve as the source of elements. |
buffer | A pre-allocated buffer of size bufSize to be used internally by the constructed RWTInputStreamBufferImp object. |
bufSize | The buffer capacity in number of elements. |
|
virtual |
Returns the number of elements that can be read from the stream without blocking. Throws no exceptions.
|
inlineprotected |
Returns a pointer to the buffer first element. Throws no exceptions.
|
inlineprotected |
Returns a pointer one position past the end of the buffer. Throws no exceptions.
|
inlineprotected |
Returns a pointer one position past the input sequence last element. Throws no exceptions.
|
protected |
Frees the memory associated with the internal buffer if necessary. Throws no exceptions.
|
inlineprotected |
Moves the current get pointer n positions forward. Throws no exceptions.
n | The number of elements the current get pointer should be advanced. |
|
inlineprotected |
Returns a pointer to the input sequence current position. Throws no exceptions.
|
virtual |
If the stream is in bad state, then this function returns true
, otherwise it returns false
. Throws no exceptions.
|
virtual |
If no character can be obtained from the input sequence, this function returns true
, otherwise it returns false
. Throws no exceptions.
|
virtual |
If the stream is in fail state, then this function returns true
, otherwise it returns false
. Throws no exceptions.
|
virtual |
If the stream is in fail or bad state, then this function returns false
, otherwise it returns true
. Throws no exceptions.
|
inlinestatic |
Constructs an RWTInputStreamBufferImp instance that uses sourceStream as its source of elements, and returns a handle to it. The internal buffer is dynamically allocated to be of size RW_STREAM_BUFFER_SIZE.
sourceStream | The input stream that will serve as the source of elements |
|
inlinestatic |
Constructs an RWTInputStreamBufferImp instance that uses sourceStream as its source of elements, and returns a handle to it. The internal buffer is initialized using the pre-allocated element's array of size bufSize.
sourceStream | The input stream that will serve as the source of elements. |
buffer | A pre-allocated buffer of size bufSize to be used internally by the constructed RWTInputStreamBufferImp object. |
bufSize | The buffer capacity in number of elements. |
|
inlinestatic |
Constructs an RWTInputStreamBufferImp instance that uses sourceStream as its source of elements, and returns a handle to it. The internal buffer is dynamically allocated to be of size bufSize.
sourceStream | The input stream that will serve as the source of elements. |
bufSize | The buffer capacity in number of elements. |
|
virtual |
Reads an array of elements. The function returns the actual number of elements read.
array | A pointer to the first element of the array. The array must have been pre-allocated to contain at least num elements. |
num | The number of elements to be read from the stream. |
|
virtual |
Reads a single element.
|
virtual |
Reads elements until the last element read is equal to delim, or maxSize elements have been read, or the end of the input sequence is reached. The elements read are stored in array. The function returns the actual number of elements read from the stream.
array | A pointer to the array receiving the elements extracted from the stream. |
maxSize | The maximum number of elements to be read. |
delim | The element value used as a delimiter. |
|
inlineprotected |
Sets the buffer's end pointer. Throws no exceptions.
gend_arg | The value to be set in bufEnd_ . |
|
inlineprotected |
Sets the buffer's pointers. Throws no exceptions.
gbeg_arg | The value to be set in gbeg_ . |
gcur_arg | The value to be set in gnext_ . |
gend_arg | The value to be set in gend_ . |
|
virtual |
Skips numUnits elements from the input sequence if possible. The function returns the actual number of elements skipped, which can be any value between 0 and numUnits.
numUnits | The number of elements to be skipped. |
|
protected |
Fills up the buffer. Returns true
if there are elements available, otherwise returns false
. Throws no exceptions.
Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |