DCMTK Version 3.6.9
OFFIS DICOM Toolkit
Loading...
Searching...
No Matches
DSRListOfItems< T > Class Template Reference

Template class to store and access items in a list structure. More...

Public Member Functions

 DSRListOfItems ()
 default constructor
 
 DSRListOfItems (const DSRListOfItems< T > &lst)
 copy constructor
 
virtual ~DSRListOfItems ()
 destructor
 
DSRListOfItems< T > & operator= (const DSRListOfItems< T > &lst)
 assignment operator
 
OFBool operator== (const DSRListOfItems< T > &lst) const
 comparison operator "equal"
 
OFBool operator!= (const DSRListOfItems< T > &lst) const
 comparison operator "not equal"
 
void clear ()
 clear all internal variables
 
OFBool isEmpty () const
 check whether the list is empty
 
size_t getNumberOfItems () const
 get number of items contained in the list
 
OFBool isElement (const T &item) const
 check whether specified item is contained in the list
 
const T & getItem (const size_t idx) const
 get reference to the specified item
 
OFCondition getItem (const size_t idx, T &item) const
 get copy of the specified item
 
OFCondition getItems (OFVector< T > &items) const
 get copy of all items (as a vector)
 
void addItem (const T &item)
 add item to the list
 
void addOnlyNewItem (const T &item)
 add item to the list only if it's not already contained
 
void addItems (const OFVector< T > &items)
 add items to the list
 
OFCondition insertItem (const size_t idx, const T &item)
 insert item at specified position to the list
 
OFCondition removeItem (const size_t idx)
 remove item from the list
 

Protected Member Functions

OFBool gotoItemPos (size_t idx, OFLIST_TYPENAME OFListConstIterator(T) &iterator) const
 goto specified item position
 
OFBool gotoItem (const T &item, OFLIST_TYPENAME OFListConstIterator(T) &iterator) const
 goto specified item
 

Protected Attributes

OFList< T > ItemList
 the list maintained by this class
 

Detailed Description

template<class T>
class DSRListOfItems< T >

Template class to store and access items in a list structure.

For instances of this class T needs to have at least a default constructor, assignment and comparison operator.

Constructor & Destructor Documentation

◆ DSRListOfItems()

template<class T>
DSRListOfItems< T >::DSRListOfItems ( const DSRListOfItems< T > & lst)
inline

copy constructor

Parameters
lstlist to be copied

References DSRListOfItems(), and ItemList.

Member Function Documentation

◆ addItem()

template<class T>
void DSRListOfItems< T >::addItem ( const T & item)
inline

add item to the list

Parameters
itemitem to be added

References ItemList.

◆ addItems()

template<class T>
void DSRListOfItems< T >::addItems ( const OFVector< T > & items)
inline

add items to the list

Parameters
itemsitems to be added (stored as a vector)

References OFVector< T >::begin(), OFVector< T >::end(), and ItemList.

◆ addOnlyNewItem()

template<class T>
void DSRListOfItems< T >::addOnlyNewItem ( const T & item)
inline

add item to the list only if it's not already contained

Parameters
itemitem to be added

References isElement(), and ItemList.

◆ getItem() [1/2]

template<class T>
const T & DSRListOfItems< T >::getItem ( const size_t idx) const
inline

get reference to the specified item

Parameters
idxindex of the item to be returned (starting from 1)
Returns
reference to the specified item if successful, EmptyItem otherwise

References gotoItemPos(), and ItemList.

◆ getItem() [2/2]

template<class T>
OFCondition DSRListOfItems< T >::getItem ( const size_t idx,
T & item ) const
inline

get copy of the specified item

Parameters
idxindex of the item to be returned (starting from 1)
itemreference to a variable where the result should be stored. (not changed/cleared if an error occurs!)
Returns
status, EC_Normal if successful, an error code otherwise

References EC_IllegalParameter, EC_Normal, gotoItemPos(), and ItemList.

◆ getItems()

template<class T>
OFCondition DSRListOfItems< T >::getItems ( OFVector< T > & items) const
inline

get copy of all items (as a vector)

Parameters
itemsreference to a variable where the result should be stored. (always cleared before items are added)
Returns
status, EC_Normal if successful, an error code otherwise

References OFVector< T >::clear(), EC_Normal, ItemList, OFVector< T >::push_back(), and OFVector< T >::reserve().

◆ getNumberOfItems()

template<class T>
size_t DSRListOfItems< T >::getNumberOfItems ( ) const
inline

get number of items contained in the list

Returns
number of items if any, 0 otherwise

References ItemList.

◆ gotoItem()

template<class T>
OFBool DSRListOfItems< T >::gotoItem ( const T & item,
OFLIST_TYPENAME OFListConstIterator(T) & iterator ) const
inlineprotected

goto specified item

Parameters
itemvalue of the item to go to (starting from 1)
iteratorlist iterator storing the position of the item
Returns
OFTrue if specified item was found, OFFalse otherwise

References ItemList.

Referenced by isElement().

◆ gotoItemPos()

template<class T>
OFBool DSRListOfItems< T >::gotoItemPos ( size_t idx,
OFLIST_TYPENAME OFListConstIterator(T) & iterator ) const
inlineprotected

goto specified item position

Parameters
idxindex of the item to go to (starting from 1)
iteratorlist iterator storing the position of the item
Returns
OFTrue if specified item was found, OFFalse otherwise

References ItemList.

Referenced by getItem(), getItem(), insertItem(), and removeItem().

◆ insertItem()

template<class T>
OFCondition DSRListOfItems< T >::insertItem ( const size_t idx,
const T & item )
inline

insert item at specified position to the list

Parameters
idxindex of the item before the new one should be inserted (starting from 1)
itemitem to be inserted
Returns
status, EC_Normal if successful, an error code otherwise

References EC_IllegalParameter, EC_Normal, gotoItemPos(), and ItemList.

◆ isElement()

template<class T>
OFBool DSRListOfItems< T >::isElement ( const T & item) const
inline

check whether specified item is contained in the list

Parameters
itemitem to be checked
Returns
OFTrue if the item is in the list, OFFalse otherwise

References gotoItem(), and ItemList.

Referenced by addOnlyNewItem().

◆ isEmpty()

template<class T>
OFBool DSRListOfItems< T >::isEmpty ( ) const
inline

check whether the list is empty

Returns
OFTrue if the list is empty, OFFalse otherwise

References ItemList.

◆ operator!=()

template<class T>
OFBool DSRListOfItems< T >::operator!= ( const DSRListOfItems< T > & lst) const
inline

comparison operator "not equal"

Parameters
lstlist that should be compared to the current one
Returns
OFTrue if both lists are not equal, OFFalse otherwise

References DSRListOfItems(), and ItemList.

◆ operator=()

template<class T>
DSRListOfItems< T > & DSRListOfItems< T >::operator= ( const DSRListOfItems< T > & lst)
inline

assignment operator

Parameters
lstlist to be copied
Returns
reference to this list after 'lst' has been copied

References DSRListOfItems(), and ItemList.

◆ operator==()

template<class T>
OFBool DSRListOfItems< T >::operator== ( const DSRListOfItems< T > & lst) const
inline

comparison operator "equal"

Parameters
lstlist that should be compared to the current one
Returns
OFTrue if both lists are equal, OFFalse otherwise

References DSRListOfItems(), and ItemList.

◆ removeItem()

template<class T>
OFCondition DSRListOfItems< T >::removeItem ( const size_t idx)
inline

remove item from the list

Parameters
idxindex of the item to be removed (starting from 1)
Returns
status, EC_Normal if successful, an error code otherwise

References EC_IllegalParameter, EC_Normal, gotoItemPos(), and ItemList.


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


Generated on Wed Apr 30 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2