OFSet< T > Class Template Reference

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

Inheritance diagram for OFSet< T >:

OFOrderedSet< T > OFUnorderedSet< T > List of all members.

Public Member Functions

 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.
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=.
virtual T & operator[] (unsigned int i) const
 Returns a certain element which is contained in the set.
virtual void Resize (unsigned int newSize)
 Resizes the set.
virtual void Clear ()
 Removes all items from the set.
virtual OFBool IsEmpty () const
 Determines if the set is an empty set.
virtual unsigned int NumberOfElements () const
 Returns the number of elements in the set.
virtual void Insert (const T &item)=0
 Inserts a new item into the set.
virtual void Remove (const T &item)=0
 Removes one item from the set.
virtual void RemoveByIndex (unsigned int idx)=0
 Removes one item from the set.
virtual T * Find (const T &item) const =0
 Tries to find a given object in the set.
virtual OFBool Contains (const T &item) const =0
 Determines if a certain item is contained in the set.

Protected Attributes

T ** items
unsigned int num
unsigned int size

Detailed Description

template<class T>
class OFSet< T >

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

Definition at line 46 of file ofset.h.


Constructor & Destructor Documentation

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

Copy constructor.

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

Definition at line 76 of file ofset.h.

References OFSet< T >::init().


Member Function Documentation

template<class T>
virtual OFBool OFSet< T >::Contains const T &  item  )  const [pure 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.

Implemented in OFOrderedSet< T >, and OFUnorderedSet< T >.

Referenced by OFSet< T >::NumberOfElements().

template<class T>
virtual T* OFSet< T >::Find const T &  item  )  const [pure 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.

Implemented in OFOrderedSet< T >, and OFUnorderedSet< T >.

Referenced by OFSet< T >::NumberOfElements().

template<class T>
virtual void OFSet< T >::Insert const T &  item  )  [pure virtual]
 

Inserts a new item into the set.

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

Implemented in OFOrderedSet< T >, and OFUnorderedSet< T >.

Referenced by OFSet< T >::NumberOfElements().

template<class T>
virtual OFBool OFSet< T >::IsEmpty  )  const [inline, virtual]
 

Determines if the set is an empty set.

Returns:
OFTrue, if the set is an empty set, OFFalse otherwise.

Definition at line 205 of file ofset.h.

template<class T>
virtual unsigned int OFSet< T >::NumberOfElements  )  const [inline, virtual]
 

Returns the number of elements in the set.

Returns:
Number of elements in the set.

Definition at line 217 of file ofset.h.

References OFSet< T >::Contains(), OFSet< T >::Find(), OFSet< T >::Insert(), OFSet< T >::Remove(), and OFSet< T >::RemoveByIndex().

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

operator=.

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

Definition at line 113 of file ofset.h.

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

Referenced by OFUnorderedSet< T >::operator=().

template<class T>
virtual T& OFSet< T >::operator[] unsigned int  i  )  const [inline, virtual]
 

Returns a certain element which is contained in the set.

Note that the original object which actually is contained in the set will be returned, and not a copy of the object. Further note that if the specified index is out of range, a newly default constructed object of class T will be returned.

Returns:
A certain element (original) which is contained in the set.

Definition at line 147 of file ofset.h.

References OFSet< T >::items.

template<class T>
virtual void OFSet< T >::Remove const T &  item  )  [pure virtual]
 

Removes one item from the set.

Parameters:
item Item which shall be removed from the set.

Implemented in OFOrderedSet< T >, and OFUnorderedSet< T >.

Referenced by OFSet< T >::NumberOfElements().

template<class T>
virtual void OFSet< T >::RemoveByIndex unsigned int  idx  )  [pure virtual]
 

Removes one item from the set.

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

Implemented in OFOrderedSet< T >, and OFUnorderedSet< T >.

Referenced by OFSet< T >::NumberOfElements().

template<class T>
virtual void OFSet< T >::Resize unsigned int  newSize  )  [inline, virtual]
 

Resizes the set.

If newSize is lower than the current number of elements in the set, this function doesn't do anything.

Parameters:
newSize New size the set is supposed to have.

Definition at line 164 of file ofset.h.

References OFSet< T >::items.

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


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


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5