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
1.2.3 written by Dimitri van Heesch,
© 1997-2000