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
 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 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 44 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 77 of file ofset.h.

References OFSet< T >::init().


Member Function Documentation

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 114 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 148 of file ofset.h.

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

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 165 of file ofset.h.

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

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

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 206 of file ofset.h.

References OFSet< T >::num.

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 218 of file ofset.h.

References OFSet< T >::num.

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

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

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

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

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


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