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

OFSet< T > List of all members.

Public Member Functions

 OFOrderedSet ()
 Default constructor.
 OFOrderedSet (const OFOrderedSet< T > &src)
 Copy constructor.
virtual ~OFOrderedSet ()
 Destructor.
const OFOrderedSet< T > & operator= (const OFOrderedSet< T > &src)
 operator=.
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.
virtual OFBool operator!= (const OFOrderedSet< T > &other) const
 Determines if two sets are not identical.
virtual void Insert (const T &item)
 Inserts a new item into the set.
virtual void Insert (const OFOrderedSet< T > &other)
 Inserts all items of another set into this set.
virtual void InsertAt (const T &item, unsigned int idx)
 Inserts a new item at a certain position into the set.
virtual void Remove (const T &item)
 Removes one item from the set.
virtual void RemoveByIndex (unsigned int idx)
 Removes one item from the set.
virtual T * Find (const T &item) const
 Tries to find a given object in the set.
virtual OFBool Contains (const T &item) const
 Determines if a certain item is contained in the set.
virtual OFBool IsSupersetOf (const OFOrderedSet< T > &other) const
 Determines if this is an actual superset of other, i.e.
virtual OFBool IsSubsetOf (const OFOrderedSet< T > &other) const
 Determines if this is an actual subset of other, i.e.
OFOrderedSet< T > Union (const OFOrderedSet< T > &other) const
 Determines the union of the two sets this and other, i.e.
OFOrderedSet< T > Intersection (const OFOrderedSet< T > &other) const
 Determines the intersection of the two sets this and other, i.e.
OFOrderedSet< T > Difference (const OFOrderedSet< T > &other) const
 Determines the difference this - other, i.e.
OFOrderedSet< T > SymmetricDifference (const OFOrderedSet< T > &other) const
 Determines the symmetric difference of this and other, i.e.

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:

Definition at line 51 of file ofoset.h.


Constructor & Destructor Documentation

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

Copy constructor.

Parameters:
src Source object of which this will be a copy.

Definition at line 67 of file ofoset.h.


Member Function Documentation

template<class T>
const OFOrderedSet<T>& OFOrderedSet< T >::operator= ( const OFOrderedSet< T > &  src  )  [inline]

operator=.

Parameters:
src Source object whose values will be assigned to this.
Returns:
Reference to this.

Definition at line 84 of file ofoset.h.

References OFOrderedSet< T >::assign().

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

template<class T>
virtual OFBool OFOrderedSet< T >::operator== ( const OFOrderedSet< T > &  other  )  const [inline, virtual]

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:
other Set which shall be compared with this.
Returns:
OFTrue if sets are identical, OFFalse otherwise.

Definition at line 108 of file ofoset.h.

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

template<class T>
virtual OFBool OFOrderedSet< T >::operator!= ( const OFOrderedSet< T > &  other  )  const [inline, virtual]

Determines if two sets are not identical.

Parameters:
other Set which shall be compared with this.
Returns:
OFTrue if sets are not identical, OFFalse otherwise.

Definition at line 136 of file ofoset.h.

template<class T>
virtual void OFOrderedSet< T >::Insert ( const T &  item  )  [inline, virtual]

Inserts a new item into the set.

Parameters:
item Item which shall be inserted into the set.

Implements OFSet< T >.

Definition at line 145 of file ofoset.h.

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

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  )  [inline, virtual]

Inserts all items of another set into this set.

Parameters:
other set whose items shall be inserted into the set.

Definition at line 165 of file ofoset.h.

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 
) [inline, virtual]

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

Parameters:
item Item which shall be inserted into the set.
idx Index 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.

Definition at line 180 of file ofoset.h.

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

template<class T>
virtual void OFOrderedSet< T >::Remove ( const T &  item  )  [inline, virtual]

Removes one item from the set.

Parameters:
item Item which shall be inserted into the set.

Implements OFSet< T >.

Definition at line 228 of file ofoset.h.

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

template<class T>
virtual void OFOrderedSet< T >::RemoveByIndex ( unsigned int  idx  )  [inline, virtual]

Removes one item from the set.

Parameters:
idx Index of the item which shall be removed from the set.

Implements OFSet< T >.

Definition at line 271 of file ofoset.h.

template<class T>
virtual T* OFOrderedSet< T >::Find ( const T &  item  )  const [inline, virtual]

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:
item Search pattern.
Returns:
Pointer to the corresponding element within the set or NULL.

Implements OFSet< T >.

Definition at line 307 of file ofoset.h.

template<class T>
virtual OFBool OFOrderedSet< T >::Contains ( const T &  item  )  const [inline, virtual]

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 >.

Definition at line 329 of file ofoset.h.

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

template<class T>
virtual OFBool OFOrderedSet< T >::IsSupersetOf ( const OFOrderedSet< T > &  other  )  const [inline, virtual]

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.

Definition at line 349 of file ofoset.h.

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 >::IsSubsetOf ( const OFOrderedSet< T > &  other  )  const [inline, virtual]

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.

Definition at line 387 of file ofoset.h.

References OFOrderedSet< T >::IsSupersetOf().

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:
other Second parameter for union.
Returns:
New set.

Definition at line 399 of file ofoset.h.

References OFOrderedSet< T >::Insert().

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

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:
other Second parameter for intersection.
Returns:
New set.

Definition at line 418 of file ofoset.h.

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

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:
other Second parameter for difference.
Returns:
New set.

Definition at line 452 of file ofoset.h.

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

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

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:
other Second parameter for symmetric difference.
Returns:
New set.

Definition at line 489 of file ofoset.h.

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


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1