|  | Qore Programming Language
    0.9.16
    | 
Base class for private data of stream implementations in C++. More...
#include <StreamBase.h>


| Public Member Methods | |
| DLLLOCAL bool | check (ExceptionSink *xsink) | 
| Checks that the current thread is the same as when the instance was created or assigned via unassignThread() and reassignThread() and that the stream has not yet been closed.  More... | |
| virtual DLLLOCAL const char * | getName ()=0 | 
| Returns the name of the class.  More... | |
| DLLLOCAL int | getThreadId () | 
| Get currently assigned thread id. | |
| DLLLOCAL void | reassignThread (ExceptionSink *xsink) | 
| Reassigns current thread as thread used for stream manipulation, see check()  More... | |
| DLLLOCAL void | unassignThread (ExceptionSink *xsink) | 
| Unassigns current thread as thread used for stream manipulation, see check()  More... | |
|  Public Member Methods 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 Methods 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 | |
| Private Member Methods | |
| StreamBase () | |
| Constructor. | |
|  Private Member Methods 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 | |
Base class for private data of stream implementations in C++.
| 
 | inline | 
Checks that the current thread is the same as when the instance was created or assigned via unassignThread() and reassignThread() and that the stream has not yet been closed.
| xsink | the exception sink | 
| STREAM-THREAD-ERROR | if the current thread is not the same as when the instance was created | 
| 
 | pure virtual | 
Returns the name of the class.
Implemented in PipeOutputStream, InputStreamWrapper, PipeInputStream, OutputStreamWrapper, BinaryInputStream, FileOutputStream, FileInputStream, StringOutputStream, EncodingConversionInputStream, EncodingConversionOutputStream, BinaryOutputStream, StderrOutputStream, StdoutOutputStream, and StringInputStream.
| 
 | inline | 
Reassigns current thread as thread used for stream manipulation, see check()
| xsink | the exception sink | 
| STREAM-THREAD-ERROR | if the current thread is already assigned to another thread | 
| 
 | inline | 
Unassigns current thread as thread used for stream manipulation, see check()
| xsink | the exception sink | 
| STREAM-THREAD-ERROR | if the current thread is not the same as assigned |