Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ObjectContainerBase.h
Go to the documentation of this file.
1 #ifndef GAUDI_OBJECTCONTAINERBASE_H
2 #define GAUDI_OBJECTCONTAINERBASE_H 1
3 
4 // Include files
6 #include "GaudiKernel/Kernel.h"
7 
8 // Forward declarations
9 class ContainedObject;
10 
20 
21 protected:
23  ObjectContainerBase() = default;
26 
27 public:
29  typedef size_t size_type;
30 
32  virtual long index( const ContainedObject* obj ) const = 0;
33 
35  virtual ContainedObject* containedObject( long dist ) const = 0;
36 
38  virtual size_type numberOfObjects() const = 0;
39 
43  virtual long add( ContainedObject* pObject ) = 0;
44 
48  virtual long remove( ContainedObject* value ) = 0;
49 };
50 
51 #endif // GAUDI_OBJECTCONTAINERBASE_H
size_t size_type
size_type, to conform the STL container interface
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
DataObject & operator=(const DataObject &rhs)
Assignment Operator.
Definition: DataObject.cpp:19
ObjectContainerBase is the base class for Gaudi container classes.
#define GAUDI_API
Definition: Kernel.h:71
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30