Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IContainer Class Template Reference

Generic container interface. More...

#include <GaudiKernel/IContainer.h>

Inheritance diagram for IContainer:

IDataDirectory RegistryEntry List of all members.

Public Types

typedef TYPE** Iterator
 Definition of iterator type. More...

typedef TYPE* const* ConstIterator
 Definition of iterator type. More...


Public Methods

virtual Iterator begin () = 0
 Return starting point for container iteration.

virtual ConstIterator begin () const = 0
 Return starting point for container iteration.

virtual Iterator end () = 0
 Return end elemtn if the container.

virtual ConstIterator end () const = 0
 Return end elemtn if the container.

virtual Iterator next ( Iterator iter ) = 0
virtual ConstIterator next ( Iterator iter ) const = 0
virtual TYPE* find ( const TYPE* obj ) = 0
 Try to find an object identified by its pointer.

virtual const TYPE* find ( const TYPE* obj ) const = 0
 Try to find an object identified by its pointer.

virtual long add ( TYPE* obj ) = 0
 Add object to the container.

virtual long remove ( TYPE* obj ) = 0
 Remove an object from the container.

virtual int size () const = 0
 Return the size of the container(=number of objects).

virtual bool isEmpty () const = 0
 Simple check if the Container is empty.

virtual long deleteElements () = 0
 Delete all contained elements.


Detailed Description

template<class TYPE> template class IContainer

Generic container interface.

Author(s):
M.Frank

Definition at line 13 of file IContainer.h.


Member Typedef Documentation

template<classTYPE>
typedef TYPE* const* IContainer<TYPE>::ConstIterator
 

Definition of iterator type.

Reimplemented in IDataDirectory.

Definition at line 18 of file IContainer.h.

template<classTYPE>
typedef TYPE** IContainer<TYPE>::Iterator
 

Definition of iterator type.

Reimplemented in IDataDirectory.

Definition at line 16 of file IContainer.h.


Member Function Documentation

template<classTYPE>
long IContainer<TYPE>::add ( TYPE * obj ) [pure virtual]
 

Add object to the container.

template<classTYPE>
ConstIterator IContainer<TYPE>::begin ( ) const [pure virtual]
 

Return starting point for container iteration.

Reimplemented in RegistryEntry.

template<classTYPE>
Iterator IContainer<TYPE>::begin ( ) [pure virtual]
 

Return starting point for container iteration.

Reimplemented in RegistryEntry.

Referenced by DataObject::dirBegin(), and DataSvc::preLoad().

template<classTYPE>
long IContainer<TYPE>::deleteElements ( ) [pure virtual]
 

Delete all contained elements.

Reimplemented in RegistryEntry.

template<classTYPE>
ConstIterator IContainer<TYPE>::end ( ) const [pure virtual]
 

Return end elemtn if the container.

Reimplemented in RegistryEntry.

template<classTYPE>
Iterator IContainer<TYPE>::end ( ) [pure virtual]
 

Return end elemtn if the container.

Reimplemented in RegistryEntry.

Referenced by DataObject::dirEnd(), and DataSvc::preLoad().

template<classTYPE>
const TYPE * IContainer<TYPE>::find ( const TYPE * obj ) const [pure virtual]
 

Try to find an object identified by its pointer.

template<classTYPE>
TYPE * IContainer<TYPE>::find ( const TYPE * obj ) [pure virtual]
 

Try to find an object identified by its pointer.

template<classTYPE>
bool IContainer<TYPE>::isEmpty ( ) const [pure virtual]
 

Simple check if the Container is empty.

Reimplemented in RegistryEntry.

template<classTYPE>
virtual ConstIterator IContainer<TYPE>::next ( Iterator iter ) const [pure virtual]
 

Reimplemented in RegistryEntry.

template<classTYPE>
virtual Iterator IContainer<TYPE>::next ( Iterator iter ) [pure virtual]
 

Reimplemented in RegistryEntry.

template<classTYPE>
long IContainer<TYPE>::remove ( TYPE * obj ) [pure virtual]
 

Remove an object from the container.

template<classTYPE>
int IContainer<TYPE>::size ( ) const [pure virtual]
 

Return the size of the container(=number of objects).

Reimplemented in RegistryEntry.


The documentation for this class was generated from the following file:
Generated at Wed Nov 21 12:22:11 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000