MDSTk Libraries  1.1.0
Medical Data Segmentation Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
mds::mod::COStreamChannel Class Reference

Buffered channel providing STL-like stream functionality. More...

#include <mdsStreamChannel.h>

Inheritance diagram for mds::mod::COStreamChannel:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { SIZE = 512 }
 Size of the internal buffer. More...
enum  { CLASS_OBJECT }
 Templates that require members of the CObject class can use this enum to check the existence. More...
enum  { HEAP_OBJECT = 0x70616568 }
 Signature used to recognize objects on the heap. More...

Public Member Functions

 COStreamChannel (CChannel *pChannel)
 Default constructor.
CChannelgetChannel ()
 Returns pointer to the output channel.
int getReferencesCount () const
 Returns the number of references.
std::ostream & getStream ()
 Returns the output stream.
bool isOnHeap () const
 Returns true if the object is allocated on the heap.
 MDS_SHAREDPTR (COStreamChannel)
 Smart pointer type.
virtual int overflow (int c=EOF)
 Implementation of virtual functions (std::streambuf).
void setChannel (CChannel *pChannel)
 Sets the output channel.
virtual int sync ()
virtual int underflow ()
virtual ~COStreamChannel ()
 Virtual destructor.

Static Public Member Functions

static void * operator new (std::size_t Size)
 Allocates a new object on the heap.

Protected Member Functions

void addReference () const
 Increase the reference counter.
bool delReference () const
 Decrease the reference counter.

Protected Attributes

int m_iHeapObject
 Flag initialized if the object is on the heap.
int m_iReferences
 The number of references to the object.
char m_pcBuffer [SIZE+1]
 Internal buffer.
char * m_pcBufferEnd
 Pointer to the buffer end.
mds::base::CScopedPtr
< std::ostream > 
m_pStream
 Output stream.
CChannelPtr m_spChannel
 Output channel.

Detailed Description

Buffered channel providing STL-like stream functionality.


Member Enumeration Documentation

anonymous enum

Size of the internal buffer.

Enumerator:
SIZE 
anonymous enum [inherited]

Templates that require members of the CObject class can use this enum to check the existence.

Enumerator:
CLASS_OBJECT 
anonymous enum [inherited]

Signature used to recognize objects on the heap.

Enumerator:
HEAP_OBJECT 

Constructor & Destructor Documentation

Default constructor.

  • Pointer to an output channel.

Virtual destructor.


Member Function Documentation

void mds::base::CObject::addReference ( ) const [protected, inherited]

Increase the reference counter.

bool mds::base::CObject::delReference ( ) const [protected, inherited]

Decrease the reference counter.

  • Returns true if the decremented number of references is lower or equal to zero and object must be deleted.

Returns pointer to the output channel.

Returns the number of references.

Returns the output stream.

bool mds::base::CObject::isOnHeap ( ) const [inherited]

Returns true if the object is allocated on the heap.

Smart pointer type.

static void* mds::base::CObject::operator new ( std::size_t  Size) [static, inherited]

Allocates a new object on the heap.

Implementation of virtual functions (std::streambuf).

Sets the output channel.


Member Data Documentation

int mds::base::CObject::m_iHeapObject [mutable, protected, inherited]

Flag initialized if the object is on the heap.

int mds::base::CObject::m_iReferences [mutable, protected, inherited]

The number of references to the object.

  • Zero if there is no reference.

Internal buffer.

Pointer to the buffer end.

Output stream.

Output channel.


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