The Gaudi Framework
v30r3 (a5ef0a68)
|
Kernel objects: SmartRefVector. More...
#include <GaudiKernel/SmartRefVector.h>
Public Member Functions | |
SmartRefVector () | |
Standard Constructor. More... | |
template<class ITERATOR > | |
SmartRefVector (ITERATOR first, ITERATOR last) | |
templated Constructor More... | |
SmartRefVector (const SmartRefVector ©) | |
Copy Constructor. More... | |
SmartRefVector< TYPE > & | operator() (ContainedObject *pObj) |
Standard destructor. More... | |
const SmartRefVector< TYPE > & | operator() (const ContainedObject *pObj) const |
operator() const: assigns parent object for serialisation More... | |
SmartRefVector< TYPE > & | operator() (DataObject *pObj) |
operator(): assigns parent object for serialisation More... | |
const SmartRefVector< TYPE > & | operator() (const DataObject *pObj) const |
operator() const: assigns parent object for serialisation More... | |
SmartRefVector< TYPE > & | operator= (const SmartRefVector< TYPE > ©) |
Assignment. More... | |
const std::type_info * | type () const |
Access to embedded type. More... | |
StreamBuffer & | readRefs (StreamBuffer &s) |
Helper to read references. More... | |
StreamBuffer & | writeRefs (StreamBuffer &s) const |
Helper to write references. More... | |
Public Member Functions inherited from std::vector< SmartRef< TYPE > > | |
SmartRef< TYPE > | push_back (SmartRef< TYPE >...args) |
SmartRef< TYPE > | crbegin (SmartRef< TYPE >...args) |
SmartRef< TYPE > | erase (SmartRef< TYPE >...args) |
SmartRef< TYPE > | data (SmartRef< TYPE >...args) |
SmartRef< TYPE > | insert (SmartRef< TYPE >...args) |
SmartRef< TYPE > | pop_back (SmartRef< TYPE >...args) |
SmartRef< TYPE > | shrink_to_fit (SmartRef< TYPE >...args) |
SmartRef< TYPE > | back (SmartRef< TYPE >...args) |
SmartRef< TYPE > | end (SmartRef< TYPE >...args) |
SmartRef< TYPE > | resize (SmartRef< TYPE >...args) |
SmartRef< TYPE > | emplace_back (SmartRef< TYPE >...args) |
SmartRef< TYPE > | size (SmartRef< TYPE >...args) |
SmartRef< TYPE > | cbegin (SmartRef< TYPE >...args) |
SmartRef< TYPE > | front (SmartRef< TYPE >...args) |
SmartRef< TYPE > | ~vector (SmartRef< TYPE >...args) |
SmartRef< TYPE > | rbegin (SmartRef< TYPE >...args) |
SmartRef< TYPE > | crend (SmartRef< TYPE >...args) |
SmartRef< TYPE > | assign (SmartRef< TYPE >...args) |
SmartRef< TYPE > | operator= (SmartRef< TYPE >...args) |
SmartRef< TYPE > | vector (SmartRef< TYPE >...args) |
SmartRef< TYPE > | reserve (SmartRef< TYPE >...args) |
SmartRef< TYPE > | capacity (SmartRef< TYPE >...args) |
SmartRef< TYPE > | empty (SmartRef< TYPE >...args) |
SmartRef< TYPE > | cend (SmartRef< TYPE >...args) |
SmartRef< TYPE > | swap (SmartRef< TYPE >...args) |
SmartRef< TYPE > | max_size (SmartRef< TYPE >...args) |
SmartRef< TYPE > | rend (SmartRef< TYPE >...args) |
SmartRef< TYPE > | get_allocator (SmartRef< TYPE >...args) |
SmartRef< TYPE > | clear (SmartRef< TYPE >...args) |
SmartRef< TYPE > | at (SmartRef< TYPE >...args) |
SmartRef< TYPE > | emplace (SmartRef< TYPE >...args) |
SmartRef< TYPE > | operator[] (SmartRef< TYPE >...args) |
SmartRef< TYPE > | begin (SmartRef< TYPE >...args) |
Protected Types | |
typedef SmartRef< TYPE > | _Entry |
That's the type of crap I am hosting. More... | |
typedef std::vector< _Entry > | _Base |
Object types: typedef myself as Base. More... | |
typedef std::vector< _Entry >::const_iterator | _BaseConstIter |
typedef std::vector< _Entry >::value_type | _BaseValueType |
Protected Member Functions | |
void | _setEnvironment (const DataObject *pObj, const ContainedObject *pContd) const |
Set the environment for the vector and all contained objects references. More... | |
Protected Attributes | |
const DataObject * | m_data |
Object data: Pointer to the identifiable object the link originates. More... | |
const ContainedObject * | m_contd |
Object data: Pointer to the Contained object (if applicable) More... | |
Friends | |
StreamBuffer & | operator<< (StreamBuffer &_s, const SmartRefVector< TYPE > &ptr) |
Output Streamer operator. More... | |
StreamBuffer & | operator>> (StreamBuffer &_s, SmartRefVector< TYPE > &ptr) |
Input Streamer operator. More... | |
Additional Inherited Members | |
Public Attributes inherited from std::vector< SmartRef< TYPE > > | |
SmartRef< TYPE > | elements |
STL member. More... | |
Kernel objects: SmartRefVector.
Description: The SmartRefVector class allows transparent handling of multiple object links within the data store. Links are unloaded a priori and will only be loaded "on demand", i.e. when dereferenced.
SmartRefVectors should behave in the same way as normal vectors of pointers;
Using SmartRefVectors the environment of the vector is automatically propagated to each contained reference.
In order to speed things up, an attempt was made to avoid any virtual functions.
Base Class: STL vector
Dependencies:
History :
+---------+----------------------------------------------+--------+ | Date | Comment | Who | +---------+----------------------------------------------+--------+ | 12/07/99| Initial version. | MF | +---------+----------------------------------------------+--------+
Author: M.Frank Version: 1.0
Definition at line 55 of file SmartRefVector.h.
|
protected |
Object types: typedef myself as Base.
Definition at line 61 of file SmartRefVector.h.
|
protected |
Definition at line 62 of file SmartRefVector.h.
|
protected |
Definition at line 63 of file SmartRefVector.h.
|
protected |
That's the type of crap I am hosting.
Definition at line 59 of file SmartRefVector.h.
|
inline |
Standard Constructor.
Definition at line 82 of file SmartRefVector.h.
|
inline |
templated Constructor
Definition at line 89 of file SmartRefVector.h.
|
inline |
|
inlineprotected |
Set the environment for the vector and all contained objects references.
Definition at line 71 of file SmartRefVector.h.
|
inline |
Standard destructor.
operator(): assigns parent object for serialisation
Definition at line 100 of file SmartRefVector.h.
|
inline |
operator() const: assigns parent object for serialisation
Definition at line 106 of file SmartRefVector.h.
|
inline |
operator(): assigns parent object for serialisation
Definition at line 112 of file SmartRefVector.h.
|
inline |
operator() const: assigns parent object for serialisation
Definition at line 118 of file SmartRefVector.h.
|
inline |
Assignment.
Definition at line 124 of file SmartRefVector.h.
|
inline |
Helper to read references.
Definition at line 162 of file SmartRefVector.h.
|
inline |
Access to embedded type.
Definition at line 136 of file SmartRefVector.h.
|
inline |
Helper to write references.
Definition at line 150 of file SmartRefVector.h.
|
friend |
Output Streamer operator.
Definition at line 143 of file SmartRefVector.h.
|
friend |
Input Streamer operator.
Definition at line 146 of file SmartRefVector.h.
|
mutableprotected |
Object data: Pointer to the Contained object (if applicable)
Definition at line 68 of file SmartRefVector.h.
|
mutableprotected |
Object data: Pointer to the identifiable object the link originates.
Definition at line 66 of file SmartRefVector.h.