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
OFUnorderedSet< T > Class Template Reference

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

+ Inheritance diagram for OFUnorderedSet< T >:

Public Member Functions

 OFUnorderedSet ()
 Default constructor.
 
 OFUnorderedSet (const OFUnorderedSet< T > &src)
 Copy constructor. More...
 
virtual ~OFUnorderedSet ()
 Destructor.
 
const OFUnorderedSet< T > & operator= (const OFUnorderedSet< T > &src)
 operator=. More...
 
virtual OFBool operator== (const OFUnorderedSet< T > &other) const
 Determines if two sets are identical. More...
 
virtual OFBool operator!= (const OFUnorderedSet< 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 OFUnorderedSet< T > &other)
 Inserts all items of another set into this set. More...
 
virtual void Remove (const T &item)
 Removes one item from the set. More...
 
virtual void RemoveByIndex (unsigned int index)
 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 OFUnorderedSet< T > &other) const
 Determines if this is an actual superset of other, i.e. More...
 
virtual OFBool IsSubsetOf (const OFUnorderedSet< T > &other) const
 Determines if this is an actual subset of other, i.e. More...
 
OFUnorderedSet< T > Union (const OFUnorderedSet< T > &other) const
 Determines the union of the two sets this and other, i.e. More...
 
OFUnorderedSet< T > Intersection (const OFUnorderedSet< T > &other) const
 Determines the intersection of the two sets this and other, i.e. More...
 
OFUnorderedSet< T > Difference (const OFUnorderedSet< T > &other) const
 Determines the difference this - other, i.e. More...
 
OFUnorderedSet< T > SymmetricDifference (const OFUnorderedSet< 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 OFUnorderedSet< T >

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

Note the following properties of this class:

Constructor & Destructor Documentation

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

Copy constructor.

Parameters
srcSource object of which this will be a copy.

Member Function Documentation

template<class T>
virtual OFBool OFUnorderedSet< 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 >.

Referenced by OFUnorderedSet< T >::Difference(), OFUnorderedSet< T >::Intersection(), OFUnorderedSet< T >::IsSupersetOf(), and OFUnorderedSet< T >::operator==().

template<class T>
OFUnorderedSet<T> OFUnorderedSet< T >::Difference ( const OFUnorderedSet< 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 OFUnorderedSet< T >::Contains(), OFUnorderedSet< T >::Insert(), and OFUnorderedSet< T >::Remove().

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

template<class T>
virtual T* OFUnorderedSet< 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 >.

template<class T>
virtual void OFUnorderedSet< 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 >::Resize().

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

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

Inserts all items of another set into this set.

Parameters
otherset whose items shall be inserted into the set.

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

template<class T>
OFUnorderedSet<T> OFUnorderedSet< T >::Intersection ( const OFUnorderedSet< 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 OFUnorderedSet< T >::Contains(), OFUnorderedSet< T >::Insert(), and OFUnorderedSet< T >::Remove().

template<class T>
virtual OFBool OFUnorderedSet< T >::IsSubsetOf ( const OFUnorderedSet< 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 OFUnorderedSet< T >::IsSupersetOf().

template<class T>
virtual OFBool OFUnorderedSet< T >::IsSupersetOf ( const OFUnorderedSet< 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 OFUnorderedSet< T >::Contains(), OFSet< T >::items, OFSet< T >::num, and OFUnorderedSet< T >::Remove().

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

template<class T>
virtual OFBool OFUnorderedSet< T >::operator!= ( const OFUnorderedSet< 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 OFUnorderedSet<T>& OFUnorderedSet< T >::operator= ( const OFUnorderedSet< T > &  src)
inline

operator=.

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

References OFSet< T >::operator=().

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

Determines if two sets are identical.

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

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

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

Removes one item from the set.

Parameters
itemItem which shall be removed from the set.

Implements OFSet< T >.

Referenced by OFUnorderedSet< T >::Difference(), OFUnorderedSet< T >::Intersection(), OFUnorderedSet< T >::IsSupersetOf(), and OFUnorderedSet< T >::operator==().

template<class T>
virtual void OFUnorderedSet< T >::RemoveByIndex ( unsigned int  index)
inlinevirtual

Removes one item from the set.

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

Implements OFSet< T >.

template<class T>
OFUnorderedSet<T> OFUnorderedSet< T >::SymmetricDifference ( const OFUnorderedSet< 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 OFUnorderedSet< T >::Difference(), and OFUnorderedSet< T >::Union().

template<class T>
OFUnorderedSet<T> OFUnorderedSet< T >::Union ( const OFUnorderedSet< 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 OFUnorderedSet< T >::Insert().

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


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


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