DCMTK  Version 3.6.6
OFFIS DICOM Toolkit
Public Member Functions | List of all members
DcmProducer Class Referenceabstract

pure virtual abstract base class for producers, i.e. More...

+ Inheritance diagram for DcmProducer:

Public Member Functions

virtual ~DcmProducer ()
 destructor
 
virtual OFBool good () const =0
 returns the status of the producer. More...
 
virtual OFCondition status () const =0
 returns the status of the producer as an OFCondition object. More...
 
virtual OFBool eos ()=0
 returns true if the producer is at the end of stream. More...
 
virtual offile_off_t avail ()=0
 returns the minimum number of bytes that can be read with the next call to read(). More...
 
virtual offile_off_t read (void *buf, offile_off_t buflen)=0
 reads as many bytes as possible into the given block. More...
 
virtual offile_off_t skip (offile_off_t skiplen)=0
 skips over the given number of bytes (or less) More...
 
virtual void putback (offile_off_t num)=0
 resets the stream to the position by the given number of bytes. More...
 

Detailed Description

pure virtual abstract base class for producers, i.e.

the initial node of a filter chain in an input stream.

Member Function Documentation

◆ avail()

virtual offile_off_t DcmProducer::avail ( )
pure virtual

returns the minimum number of bytes that can be read with the next call to read().

The DcmObject read methods rely on avail to return a value > 0 if there is no I/O suspension since certain data such as tag and length are only read "en bloc", i.e. all or nothing.

Returns
minimum of data available in producer

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ eos()

virtual OFBool DcmProducer::eos ( )
pure virtual

returns true if the producer is at the end of stream.

Returns
true if end of stream, false otherwise

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ good()

virtual OFBool DcmProducer::good ( ) const
pure virtual

returns the status of the producer.

Unless the status is good, the producer will not permit any operation.

Returns
status, true if good

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ putback()

virtual void DcmProducer::putback ( offile_off_t  num)
pure virtual

resets the stream to the position by the given number of bytes.

Parameters
numnumber of bytes to putback. If the putback operation fails, the producer status becomes bad.

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ read()

virtual offile_off_t DcmProducer::read ( void *  buf,
offile_off_t  buflen 
)
pure virtual

reads as many bytes as possible into the given block.

Parameters
bufpointer to memory block, must not be NULL
buflenlength of memory block
Returns
number of bytes actually read.

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ skip()

virtual offile_off_t DcmProducer::skip ( offile_off_t  skiplen)
pure virtual

skips over the given number of bytes (or less)

Parameters
skiplennumber of bytes to skip
Returns
number of bytes actually skipped.

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.

◆ status()

virtual OFCondition DcmProducer::status ( ) const
pure virtual

returns the status of the producer as an OFCondition object.

Unless the status is good, the producer will not permit any operation.

Returns
status, EC_Normal if good

Implemented in DcmZLibInputFilter, DcmFileProducer, and DcmBufferProducer.


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


Generated on Thu Jan 14 2021 for DCMTK Version 3.6.6 by Doxygen 1.8.18