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

IContainer.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IContainer.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $
00002 #ifndef GAUDIKERNEL_ICONTAINER_H
00003 #define GAUDIKERNEL_ICONTAINER_H
00004 
00005 #include "GaudiKernel/Kernel.h"
00006 
00013 template <class TYPE> class IContainer   {
00014   public:
00016     typedef TYPE** Iterator;
00018     typedef TYPE*const* ConstIterator;
00019           //@Man: Public interface members
00021     virtual Iterator        begin   ()   = 0;
00023     virtual ConstIterator   begin   ()   const = 0;
00025     virtual Iterator        end     ()   = 0;
00027     virtual ConstIterator   end     ()   const = 0;
00028     // Retrieve next element of the container
00029     virtual Iterator        next    ( Iterator iter ) = 0;
00030     // Retrieve next element of the container
00031     virtual ConstIterator   next    ( Iterator iter )   const = 0;
00033     virtual TYPE*           find    ( const TYPE* obj )  = 0;
00035     virtual const TYPE*     find    ( const TYPE* obj )  const = 0;
00037     virtual long         add     ( TYPE* obj ) = 0;
00039     virtual long         remove  ( TYPE* obj ) = 0;
00041     virtual int          size    () const = 0;
00043     virtual bool         isEmpty () const = 0;
00045     virtual long         deleteElements()  = 0;
00046 };
00047 #endif // GAUDIKERNEL_ICONTAINER_H

Generated at Wed Nov 21 12:22:03 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000