| # Gaudi Framework, version v20r4
Generated: 8 Jan 2009

# ObjectContainerBase.h

Go to the documentation of this file.

    00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/ObjectContainerBase.h,v 1.5 2008/10/09 16:46:49 marcocle Exp $
    00002 #ifndef GAUDI_OBJECTCONTAINERBASE_H
    00003 #define GAUDI_OBJECTCONTAINERBASE_H 1
    00004
    00005 // Include files
    00006 #include "GaudiKernel/Kernel.h"
    00007 #include "GaudiKernel/DataObject.h"
    00008
    00009 // Forward declarations
    00010 class ContainedObject;
    00011
    00020 class ObjectContainerBase : public DataObject  {
    00021
    00022 protected:
    00023
    00025   ObjectContainerBase() { }
    00026
    00028   virtual ~ObjectContainerBase() { }
    00029
    00030 public:
    00031
    00033   typedef size_t size_type;
    00034
    00036   virtual long index( const ContainedObject* obj ) const = 0;
    00037
    00039   virtual ContainedObject* containedObject( long dist ) const = 0;
    00040
    00042   virtual size_type numberOfObjects() const = 0;
    00043
    00047   virtual long add(ContainedObject* pObject) = 0;
    00048
    00052   virtual long remove(ContainedObject* value) = 0;
    00053
    00054 private:
    00055 };
    00056
    00057 #endif    // GAUDI_OBJECTCONTAINERBASE_H