DCMTK Version 3.7.0
OFFIS DICOM Toolkit
Loading...
Searching...
No Matches
DcmList Class Reference

double-linked list class that maintains pointers to DcmObject instances. More...

Public Member Functions

 DcmList ()
 constructor
 ~DcmList ()
 destructor
DcmObjectappend (DcmObject *obj)
 insert object at end of list
DcmObjectprepend (DcmObject *obj)
 insert object at start of list
DcmObjectinsert (DcmObject *obj, const E_ListPos pos=ELP_next)
 insert object relative to current position and indicator
DcmObjectremove ()
 remove current entry from list, return element
DcmObjectget (const E_ListPos pos=ELP_atpos)
 get pointer to element in list at given position
DcmObjectseek (const E_ListPos pos=ELP_next)
 seek within element in list to given position (i.e.
DcmObjectseek_to (const unsigned long absolute_position)
 seek within element in list to given element index (i.e.
void deleteAllElements ()
 remove and delete all elements from list.
unsigned long card () const
 return cardinality of list
OFBool empty () const
 return true if list is empty, false otherwise
OFBool valid () const
 return true if current node exists, false otherwise

Private Member Functions

DcmListoperator= (const DcmList &)
 private undefined copy constructor
 DcmList (const DcmList &newList)
 private undefined copy assignment operator

Private Attributes

DcmListNodefirstNode
 pointer to first node in list
DcmListNodelastNode
 pointer to last node in list
DcmListNodecurrentNode
 pointer to current node in list
unsigned long currentPosition
 current position in list.
unsigned long cardinality
 number of elements in list

Detailed Description

double-linked list class that maintains pointers to DcmObject instances.

The remove operation does not delete the object pointed to, however, the destructor will delete all elements the list points to.

Constructor & Destructor Documentation

◆ DcmList()

DcmList::DcmList ( const DcmList & newList)
private

private undefined copy assignment operator

Parameters
newListdocumented to avoid doxygen warnings

References DcmList().

Member Function Documentation

◆ append()

DcmObject * DcmList::append ( DcmObject * obj)

insert object at end of list

Parameters
objpointer to object
Returns
pointer to object, or NULL if object cannot be inserted

◆ deleteAllElements()

void DcmList::deleteAllElements ( )

remove and delete all elements from list.

Thus, the elements' memory is also freed by this operation. The list is empty after calling this function.

◆ get()

DcmObject * DcmList::get ( const E_ListPos pos = ELP_atpos)

get pointer to element in list at given position

Parameters
posposition indicator
Returns
pointer to object

◆ insert()

DcmObject * DcmList::insert ( DcmObject * obj,
const E_ListPos pos = ELP_next )

insert object relative to current position and indicator

Parameters
objpointer to object
posposition indicator
Returns
pointer to object, or NULL if object cannot be inserted

◆ prepend()

DcmObject * DcmList::prepend ( DcmObject * obj)

insert object at start of list

Parameters
objpointer to object
Returns
pointer to object, or NULL if object cannot be inserted

◆ remove()

DcmObject * DcmList::remove ( )

remove current entry from list, return element

Returns
pointer to removed element, which is not deleted

◆ seek()

DcmObject * DcmList::seek ( const E_ListPos pos = ELP_next)

seek within element in list to given position (i.e.

set current element to given position)

Parameters
posposition indicator
Returns
pointer to new current object

◆ seek_to()

DcmObject * DcmList::seek_to ( const unsigned long absolute_position)

seek within element in list to given element index (i.e.

set current element to given index)

Parameters
absolute_positionposition index < card()
Returns
pointer to new current object

Member Data Documentation

◆ currentPosition

unsigned long DcmList::currentPosition
private

current position in list.

The position is maintained in order to avoid O(n) lookup when essentially iterating the elements using seek_to().


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


Generated on for DCMTK Version 3.7.0 by Doxygen 1.15.0