Qore Programming Language - C/C++ Library  0.8.13.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
InputStream Class Referenceabstract

Interface for private data of input streams. More...

#include <InputStream.h>

Inheritance diagram for InputStream:
Collaboration diagram for InputStream:

Public Member Functions

virtual int64 peek (ExceptionSink *xsink)=0
 Peeks the next byte from the input stream. More...
 
virtual int64 read (void *ptr, int64 limit, ExceptionSink *xsink)=0
 Reads up to `limit` bytes from the input stream. More...
 
- Public Member Functions inherited from AbstractPrivateData
virtual DLLLOCAL void deref (ExceptionSink *xsink)
 decrements the reference count of the object More...
 
virtual DLLLOCAL void deref ()
 decrements the reference count of the object without the possibility of throwing a Qore-language exception
 
DLLLOCAL void ref ()
 increments the reference count of the object More...
 
- Public Member Functions inherited from QoreReferenceCounter
DLLEXPORT QoreReferenceCounter ()
 creates the reference counter object
 
DLLEXPORT QoreReferenceCounter (const QoreReferenceCounter &old)
 creates a new object with a reference count of 1 More...
 
DLLEXPORT ~QoreReferenceCounter ()
 destroys the reference counter object
 
DLLEXPORT bool is_unique () const
 returns true if the reference count is 1 More...
 
DLLEXPORT int reference_count () const
 gets the reference count More...
 
DLLEXPORT bool ROdereference () const
 atomically decrements the reference count More...
 
DLLEXPORT void ROreference () const
 atomically increments the reference count
 

Protected Member Functions

 InputStream ()=default
 Constructor.
 
- Protected Member Functions inherited from AbstractPrivateData
virtual DLLLOCAL ~AbstractPrivateData ()
 as these objects are reference counted, the destructor should be called only when the reference count = 0 and not manually
 

Detailed Description

Interface for private data of input streams.

Methods in this interface serve as low-level API for using input streams from C++ code.

Member Function Documentation

virtual int64 InputStream::peek ( ExceptionSink xsink)
pure virtual

Peeks the next byte from the input stream.

Parameters
xsinkthe exception sink
Returns
the next byte available to be read, -1 indicates end of the stream, -2 indicates an error
virtual int64 InputStream::read ( void *  ptr,
int64  limit,
ExceptionSink xsink 
)
pure virtual

Reads up to `limit` bytes from the input stream.

Parameters
ptrthe destination buffer to read data into
limitthe maximum number of bytes to read, must be > 0
xsinkthe exception sink
Returns
the number of bytes read, 0 indicates the end of the stream

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