DCMTK Version 3.7.0 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

  num | number 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

  buf | pointer to memory block, must not be NULL
  buflen | length 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

  skiplen | number 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:

- dcmdata/include/dcmtk/dcmdata/dcistrma.h

Generated on Mon Dec 15 2025 for DCMTK Version 3.7.0 by Doxygen 1.9.1