DCMTK  Version 3.6.1 20170228
OFFIS DICOM Toolkit
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
OFOrderedSet< T > Class Template Reference

This template class provides a data structure and operations for administrating an ordered set of elements of an arbitrary type. More...

+ Inheritance diagram for OFOrderedSet< T >:

Public Member Functions

 OFOrderedSet ()
 Default constructor.
 
 OFOrderedSet (const OFOrderedSet< T > &src)
 Copy constructor. More...
 
virtual ~OFOrderedSet ()
 Destructor.
 
const OFOrderedSet< T > & operator= (const OFOrderedSet< T > &src)
 operator=. More...
 
const OFOrderedSet< T > & assign (const OFOrderedSet< T > &src)
 This function is a workaround for avoiding a compiler warning on Solaris 2.5.1 using compiler SC 2.0.1.
 
virtual OFBool operator== (const OFOrderedSet< T > &other) const
 Determines if two sets are identical. More...
 
virtual OFBool operator!= (const OFOrderedSet< T > &other) const
 Determines if two sets are not identical. More...
 
virtual void Insert (const T &item)
 Inserts a new item into the set. More...
 
virtual void Insert (const OFOrderedSet< T > &other)
 Inserts all items of another set into this set. More...
 
virtual void InsertAt (const T &item, unsigned int idx)
 Inserts a new item at a certain position into the set. More...
 
virtual void Remove (const T &item)
 Removes one item from the set. More...
 
virtual void RemoveByIndex (unsigned int idx)
 Removes one item from the set. More...
 
virtual T * Find (const T &item) const
 Tries to find a given object in the set. More...
 
virtual OFBool Contains (const T &item) const
 Determines if a certain item is contained in the set. More...
 
virtual OFBool IsSupersetOf (const OFOrderedSet< T > &other) const
 Determines if this is an actual superset of other, i.e. More...
 
virtual OFBool IsSubsetOf (const OFOrderedSet< T > &other) const
 Determines if this is an actual subset of other, i.e. More...
 
OFOrderedSet< T > Union (const OFOrderedSet< T > &other) const
 Determines the union of the two sets this and other, i.e. More...
 
OFOrderedSet< T > Intersection (const OFOrderedSet< T > &other) const
 Determines the intersection of the two sets this and other, i.e. More...
 
OFOrderedSet< T > Difference (const OFOrderedSet< T > &other) const
 Determines the difference this - other, i.e. More...
 
OFOrderedSet< T > SymmetricDifference (const OFOrderedSet< T > &other) const
 Determines the symmetric difference of this and other, i.e. More...
 
- Public Member Functions inherited from OFSet< T >
 OFSet ()
 Default constructor.
 
void init ()
 This function is a workaround for avoiding a compiler warning on Solaris 2.5.1 using compiler SC 2.0.1.
 
 OFSet (const OFSet< T > &src)
 Copy constructor. More...
 
void init (const OFSet< T > &src)
 This function is a workaround for avoiding a compiler warning on Solaris 2.5.1 using compiler SC 2.0.1.
 
virtual ~OFSet ()
 Destructor.
 
const OFSet< T > & operator= (const OFSet< T > &src)
 operator=. More...
 
virtual T & operator[] (unsigned int i) const
 Returns a certain element which is contained in the set. More...
 
virtual void Resize (unsigned int newSize)
 Resizes the set. More...
 
virtual void Clear ()
 Removes all items from the set.
 
virtual OFBool IsEmpty () const
 Determines if the set is an empty set. More...
 
virtual unsigned int NumberOfElements () const
 Returns the number of elements in the set. More...
 

Additional Inherited Members

- Protected Attributes inherited from OFSet< T >
T ** items
 array containing the entries
 
unsigned int num
 number of entries in the set
 
unsigned int size
 current size of the set (always >= num)
 

Detailed Description

template<class T>
class OFOrderedSet< T >

This template class provides a data structure and operations for administrating an ordered set of elements of an arbitrary type.

Note the following properties of this class:

Constructor & Destructor Documentation

template<class T>
OFOrderedSet< T >::OFOrderedSet ( const OFOrderedSet< T > &  src)
inline

Copy constructor.

Parameters
srcSource object of which this will be a copy.

Member Function Documentation

template<class T>
virtual OFBool OFOrderedSet< T >::Contains ( const T &  item) const
inlinevirtual

Determines if a certain item is contained in the set.

Parameters
item- Item which shall be looked for.
Returns
OFTrue, if item is contained in the set, OFFalse otherwise.

Implements OFSet< T >.

References OFSet< T >::items, and OFSet< T >::num.

Referenced by OFOrderedSet< T >::Difference(), OFOrderedSet< T >::Intersection(), and OFOrderedSet< T >::IsSupersetOf().

template<class T>
OFOrderedSet<T> OFOrderedSet< T >::Difference ( const OFOrderedSet< T > &  other) const
inline

Determines the difference this - other, i.e.

the set containing all the items found in this but not in other, and returns the resulting new set.

Parameters
otherSecond parameter for difference.
Returns
New set.

References OFOrderedSet< T >::Contains(), OFOrderedSet< T >::Insert(), OFSet< T >::items, OFSet< T >::num, and OFOrderedSet< T >::Remove().

Referenced by OFOrderedSet< T >::SymmetricDifference().

template<class T>
virtual T* OFOrderedSet< T >::Find ( const T &  item) const
inlinevirtual

Tries to find a given object in the set.

In case the specified object could be found, a pointer to the corresponding element within the set is returned; in case the specified object could not be found, NULL will be returned.

Parameters
itemSearch pattern.
Returns
Pointer to the corresponding element within the set or NULL.

Implements OFSet< T >.

References OFSet< T >::items, and OFSet< T >::num.

template<class T>
virtual void OFOrderedSet< T >::Insert ( const T &  item)
inlinevirtual

Inserts a new item into the set.

Parameters
itemItem which shall be inserted into the set.

Implements OFSet< T >.

References OFSet< T >::items, OFSet< T >::num, OFSet< T >::Resize(), and OFSet< T >::size.

Referenced by OFOrderedSet< T >::Difference(), OFOrderedSet< T >::Insert(), OFOrderedSet< T >::InsertAt(), OFOrderedSet< T >::Intersection(), and OFOrderedSet< T >::Union().

template<class T>
virtual void OFOrderedSet< T >::Insert ( const OFOrderedSet< T > &  other)
inlinevirtual

Inserts all items of another set into this set.

Parameters
otherset whose items shall be inserted into the set.

References OFOrderedSet< T >::Insert(), OFSet< T >::items, and OFSet< T >::num.

template<class T>
virtual void OFOrderedSet< T >::InsertAt ( const T &  item,
unsigned int  idx 
)
inlinevirtual

Inserts a new item at a certain position into the set.

Parameters
itemItem which shall be inserted into the set.
idxIndex of the position at which the item shall be inserted. The first position has index 0. Note that in case index is greater than the index of the last item, the new item will be inserted right behind the last item of the set.

References OFOrderedSet< T >::Insert(), OFSet< T >::items, OFSet< T >::num, OFSet< T >::Resize(), and OFSet< T >::size.

template<class T>
OFOrderedSet<T> OFOrderedSet< T >::Intersection ( const OFOrderedSet< T > &  other) const
inline

Determines the intersection of the two sets this and other, i.e.

the set containing all items which can be found in both this and other, and returns the resulting new set.

Parameters
otherSecond parameter for intersection.
Returns
New set.

References OFOrderedSet< T >::Contains(), OFOrderedSet< T >::Insert(), OFSet< T >::items, OFSet< T >::num, and OFOrderedSet< T >::Remove().

template<class T>
virtual OFBool OFOrderedSet< T >::IsSubsetOf ( const OFOrderedSet< T > &  other) const
inlinevirtual

Determines if this is an actual subset of other, i.e.

if this is completely contained in other and other furthermore has additional elements.

Parameters
other- Set which shall be compared with this.
Returns
OFTrue if this is a subset of other, OFFalse otherwise.

References OFOrderedSet< T >::IsSupersetOf().

template<class T>
virtual OFBool OFOrderedSet< T >::IsSupersetOf ( const OFOrderedSet< T > &  other) const
inlinevirtual

Determines if this is an actual superset of other, i.e.

if this completely contains other and furthermore has additional elements.

Parameters
other- Set which shall be compared with this.
Returns
OFTrue if this is a superset of other, OFFalse otherwise.

References OFOrderedSet< T >::Contains(), OFSet< T >::items, OFSet< T >::num, and OFOrderedSet< T >::Remove().

Referenced by OFOrderedSet< T >::IsSubsetOf().

template<class T>
virtual OFBool OFOrderedSet< T >::operator!= ( const OFOrderedSet< T > &  other) const
inlinevirtual

Determines if two sets are not identical.

Parameters
otherSet which shall be compared with this.
Returns
OFTrue if sets are not identical, OFFalse otherwise.
template<class T>
const OFOrderedSet<T>& OFOrderedSet< T >::operator= ( const OFOrderedSet< T > &  src)
inline

operator=.

Parameters
srcSource object whose values will be assigned to this.
Returns
Reference to this.

References OFOrderedSet< T >::assign().

Referenced by OFOrderedSet< T >::assign().

template<class T>
virtual OFBool OFOrderedSet< T >::operator== ( const OFOrderedSet< T > &  other) const
inlinevirtual

Determines if two sets are identical.

Note that for ordered sets not only their elements have to be identical, but also the order of their elements has to be identical.

Parameters
otherSet which shall be compared with this.
Returns
OFTrue if sets are identical, OFFalse otherwise.

References OFSet< T >::items, and OFSet< T >::num.

template<class T>
virtual void OFOrderedSet< T >::Remove ( const T &  item)
inlinevirtual

Removes one item from the set.

Parameters
itemItem which shall be inserted into the set.

Implements OFSet< T >.

References OFSet< T >::items, and OFSet< T >::num.

Referenced by OFOrderedSet< T >::Difference(), OFOrderedSet< T >::Intersection(), and OFOrderedSet< T >::IsSupersetOf().

template<class T>
virtual void OFOrderedSet< T >::RemoveByIndex ( unsigned int  idx)
inlinevirtual

Removes one item from the set.

Parameters
idxIndex of the item which shall be removed from the set.

Implements OFSet< T >.

References OFSet< T >::items, and OFSet< T >::num.

template<class T>
OFOrderedSet<T> OFOrderedSet< T >::SymmetricDifference ( const OFOrderedSet< T > &  other) const
inline

Determines the symmetric difference of this and other, i.e.

the set containing all the items which can be found either in this or in other but not in the intersection of this and other, and returns the resulting new set.

Parameters
otherSecond parameter for symmetric difference.
Returns
New set.

References OFOrderedSet< T >::Difference(), and OFOrderedSet< T >::Union().

template<class T>
OFOrderedSet<T> OFOrderedSet< T >::Union ( const OFOrderedSet< T > &  other) const
inline

Determines the union of the two sets this and other, i.e.

the set containing all items which can be found either in this or in other, and returns the resulting new set.

Parameters
otherSecond parameter for union.
Returns
New set.

References OFOrderedSet< T >::Insert().

Referenced by OFOrderedSet< T >::SymmetricDifference().


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


Generated on Tue Feb 28 2017 for DCMTK Version 3.6.1 20170228 by Doxygen 1.8.8