10 #ifndef KERNEL_SMARTREFVECTOR_H
11 #define KERNEL_SMARTREFVECTOR_H 1
59 typedef std::vector <_Entry>
_Base;
73 (*i)._setEnvironment(pObj, pContd);
83 template <
class ITERATOR>
122 _Base::operator=(copy);
132 const std::type_info*
type()
const {
133 return &
typeid(TYPE);
141 friend StreamBuffer& operator<< (StreamBuffer& _s, const SmartRefVector<TYPE>& ptr) {
142 return ptr.writeRefs(_s);
151 template <
class TYPE>
inline
153 long len = _Base::size();
156 (*i)._setEnvironment(m_data, m_contd);
162 template <
class TYPE>
inline
167 for (
long i = 0;
i < len;
i++ ) {
169 entry._setEnvironment(m_data, m_contd);
171 _Base::push_back( entry );
176 #endif // KERNEL_SMARTREFVECTOR_H
std::vector< _Entry >::value_type _BaseValueType
const std::type_info * type() const
Access to embedded type.
The stream buffer is a small object collecting object data.
SmartRefVector< TYPE > & operator()(ContainedObject *pObj)
Standard destructor.
struct GAUDI_API vector
Parametrisation class for vector-like implementation.
Kernel objects: SmartRef.
SmartRefVector()
Standard Constructor.
const ContainedObject * m_contd
Object data: Pointer to the Contained object (if applicable)
const ObjectContainerBase * parent() const
Access to parent object.
Kernel objects: SmartRefVector.
std::vector< _Entry >::const_iterator _BaseConstIter
SmartRefVector(const SmartRefVector ©)
Copy Constructor.
StreamBuffer & readRefs(StreamBuffer &s)
Helper to read references.
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
SmartRefVector(ITERATOR first, ITERATOR last)
templated Constructor
std::vector< _Entry > _Base
Object types: typedef myself as Base.
friend StreamBuffer & operator>>(StreamBuffer &_s, SmartRefVector< TYPE > &ptr)
Input Streamer operator.
const DataObject * m_data
Object data: Pointer to the identifiable object the link originates.
void _setEnvironment(const DataObject *pObj, const ContainedObject *pContd) const
Set the environment for the vector and all contained objects references.
A DataObject is the base class of any identifiable object on any data store.
SmartRef< TYPE > _Entry
That's the type of crap I am hosting.
StreamBuffer & writeRefs(StreamBuffer &s) const
Helper to write references.
SmartRefVector< TYPE > & operator=(const SmartRefVector< TYPE > ©)
Assignment.