All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ObjectContainerBase.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/ObjectContainerBase.h,v 1.5 2008/10/09 16:46:49 marcocle Exp $
2 #ifndef GAUDI_OBJECTCONTAINERBASE_H
3 #define GAUDI_OBJECTCONTAINERBASE_H 1
4 
5 // Include files
6 #include "GaudiKernel/Kernel.h"
8 
9 // Forward declarations
10 class ContainedObject;
11 
21 
22 protected:
23 
26 
28  virtual ~ObjectContainerBase() { }
29 
30 public:
31 
33  typedef size_t size_type;
34 
36  virtual long index( const ContainedObject* obj ) const = 0;
37 
39  virtual ContainedObject* containedObject( long dist ) const = 0;
40 
42  virtual size_type numberOfObjects() const = 0;
43 
47  virtual long add(ContainedObject* pObject) = 0;
48 
52  virtual long remove(ContainedObject* value) = 0;
53 
54 private:
55 };
56 
57 #endif // GAUDI_OBJECTCONTAINERBASE_H
size_t size_type
size_type, to conform the STL container interface
virtual ~ObjectContainerBase()
Destructor.
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
ObjectContainerBase()
Constructor.
ObjectContainerBase is the base class for Gaudi container classes.
#define GAUDI_API
Definition: Kernel.h:108
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:31