SharedObjectsContainer< TYPE > Class Template Reference

Very simple class to represent the container of objects which are not ownered by the container. More...

#include </scratch/z5/marcocle/GaudiDocs/lhcb-release/996/GAUDI/GAUDI_v26r4/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/SharedObjectsContainer.h>

Inheritance diagram for SharedObjectsContainer< TYPE >:
Collaboration diagram for SharedObjectsContainer< TYPE >:

Public Types

typedef std::vector< const TYPE * > ConstVector
 the actual container type More...
 
typedef ConstVector::value_type value_type
 various types (to make STL happy) More...
 
typedef ConstVector::size_type size_type
 
typedef ConstVector::reference reference
 
typedef ConstVector::const_reference const_reference
 
typedef ConstVector::iterator iterator
 
typedef ConstVector::const_iterator const_iterator
 
typedef ConstVector::reverse_iterator reverse_iterator
 
typedef ConstVector::const_reverse_iterator const_reverse_iterator
 
typedef std::vector< const TYPE * > ConstVector
 the actual container type More...
 
typedef ConstVector::value_type value_type
 various types (to make STL happy) More...
 
typedef ConstVector::size_type size_type
 
typedef ConstVector::reference reference
 
typedef ConstVector::const_reference const_reference
 
typedef ConstVector::iterator iterator
 
typedef ConstVector::const_iterator const_iterator
 
typedef ConstVector::reverse_iterator reverse_iterator
 
typedef ConstVector::const_reverse_iterator const_reverse_iterator
 
- Public Types inherited from ObjectContainerBase
typedef size_t size_type
 size_type, to conform the STL container interface More...
 
typedef size_t size_type
 size_type, to conform the STL container interface More...
 

Public Member Functions

 SharedObjectsContainer ()
 
 SharedObjectsContainer (const ConstVector &data)
 
template<class DATA >
 SharedObjectsContainer (DATA first, DATA last)
 the templated constructor from the pair of iterators More...
 
template<class DATA , class PREDICATE >
 SharedObjectsContainer (DATA first, DATA last, const PREDICATE &cut)
 the templated constructor from the pair of iterators and the predicate. More...
 
virtual ~SharedObjectsContainer ()
 destructor More...
 
virtual const CLIDclID () const
 Retrieve the unique class ID (virtual) More...
 
const ConstVectordata () const
 get the access to the underlying container (const) More...
 
 operator const ConstVector & () const
 cast to the underlying container More...
 
size_type size () const
 get the actual size of the container More...
 
bool empty () const
 empty container? More...
 
void push_back (const TYPE *object)
 insert one object into the container More...
 
void insert (const TYPE *object)
 insert one object into the container More...
 
template<class DATA >
void insert (DATA first, DATA last)
 add the sequence of objects into the container More...
 
template<class DATA , class PREDICATE >
void insert (DATA first, DATA last, const PREDICATE &cut)
 add the sequence of 'good'objects into the container More...
 
template<class OUTPUT , class PREDICATE >
OUTPUT get (const PREDICATE &cut, OUTPUT output) const
 get from the container all objects which satisfy the certain criteria More...
 
void erase (iterator i)
 erase the object by iterator More...
 
template<class PREDICATE >
void erase (const PREDICATE &cut)
 erase the objects which satisfy the criteria More...
 
bool erase (const TYPE *object)
 erase the first occurance of the certain element More...
 
reference operator[] (size_type index)
 index access More...
 
const_reference operator[] (size_type index) const
 index access (const-version) More...
 
reference operator() (size_type index)
 'functional'-access More...
 
const_reference operator() (size_type index) const
 'functional'-access (const version) More...
 
reference at (size_type index)
 checked access More...
 
const_reference at (size_type index) const
 checked access (const-version) More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
reference front ()
 the first element (only for non-empty vectors) More...
 
const_reference front () const
 the first element (only for non-empty vectors) (const-version) More...
 
reference back ()
 the last element (only for non-empty vectors) More...
 
const_reference back () const
 the last element (only for non-empty vectors) (const-version) More...
 
bool operator== (const SharedObjectsContainer &right) const
 equal content with other container ? More...
 
bool operator== (const ConstVector &right) const
 equal content with corresponding vector ? More...
 
bool operator< (const SharedObjectsContainer &right) const
 comparisons with other container More...
 
bool operator< (const ConstVector &right) const
 comparisons with corresponding vector More...
 
virtual long index (const ContainedObject *object) const
 Distance of a given object from the beginning of its container. More...
 
virtual ContainedObjectcontainedObject (long index) const
 Pointer to an object of a given distance. More...
 
virtual size_type numberOfObjects () const
 Number of objects in the container. More...
 
virtual long add (ContainedObject *object)
 Virtual functions (forwards to the concrete container definitions) Add an object to the container. More...
 
virtual long remove (ContainedObject *value)
 Release object from the container (the pointer will be removed from the container, but the object itself will remain alive). More...
 
 SharedObjectsContainer ()
 
 SharedObjectsContainer (const ConstVector &data)
 
template<class DATA >
 SharedObjectsContainer (DATA first, DATA last)
 the templated constructor from the pair of iterators More...
 
template<class DATA , class PREDICATE >
 SharedObjectsContainer (DATA first, DATA last, const PREDICATE &cut)
 the templated constructor from the pair of iterators and the predicate. More...
 
virtual ~SharedObjectsContainer ()
 destructor More...
 
virtual const CLIDclID () const
 Retrieve the unique class ID (virtual) More...
 
const ConstVectordata () const
 get the access to the underlying container (const) More...
 
 operator const ConstVector & () const
 cast to the underlying container More...
 
size_type size () const
 get the actual size of the container More...
 
bool empty () const
 empty container? More...
 
void push_back (const TYPE *object)
 insert one object into the container More...
 
void insert (const TYPE *object)
 insert one object into the container More...
 
template<class DATA >
void insert (DATA first, DATA last)
 add the sequence of objects into the container More...
 
template<class DATA , class PREDICATE >
void insert (DATA first, DATA last, const PREDICATE &cut)
 add the sequence of 'good'objects into the container More...
 
template<class OUTPUT , class PREDICATE >
OUTPUT get (const PREDICATE &cut, OUTPUT output) const
 get from the container all objects which satisfy the certain criteria More...
 
void erase (iterator i)
 erase the object by iterator More...
 
template<class PREDICATE >
void erase (const PREDICATE &cut)
 erase the objects which satisfy the criteria More...
 
bool erase (const TYPE *object)
 erase the first occurance of the certain element More...
 
reference operator[] (size_type index)
 index access More...
 
const_reference operator[] (size_type index) const
 index access (const-version) More...
 
reference operator() (size_type index)
 'functional'-access More...
 
const_reference operator() (size_type index) const
 'functional'-access (const version) More...
 
reference at (size_type index)
 checked access More...
 
const_reference at (size_type index) const
 checked access (const-version) More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
reference front ()
 the first element (only for non-empty vectors) More...
 
const_reference front () const
 the first element (only for non-empty vectors) (const-version) More...
 
reference back ()
 the last element (only for non-empty vectors) More...
 
const_reference back () const
 the last element (only for non-empty vectors) (const-version) More...
 
bool operator== (const SharedObjectsContainer &right) const
 equal content with other container ? More...
 
bool operator== (const ConstVector &right) const
 equal content with corresponding vector ? More...
 
bool operator< (const SharedObjectsContainer &right) const
 comparisons with other container More...
 
bool operator< (const ConstVector &right) const
 comparisons with corresponding vector More...
 
virtual long index (const ContainedObject *object) const
 Distance of a given object from the beginning of its container. More...
 
virtual ContainedObjectcontainedObject (long index) const
 Pointer to an object of a given distance. More...
 
virtual size_type numberOfObjects () const
 Number of objects in the container. More...
 
virtual long add (ContainedObject *object)
 Virtual functions (forwards to the concrete container definitions) Add an object to the container. More...
 
virtual long remove (ContainedObject *value)
 Release object from the container (the pointer will be removed from the container, but the object itself will remain alive). More...
 
- Public Member Functions inherited from DataObject
 DataObject ()
 Standard Constructor. More...
 
 DataObject (const DataObject &rhs)
 Copy Constructor. More...
 
DataObjectoperator= (const DataObject &rhs)
 Assignment Operator. More...
 
 DataObject (DataObject &&rhs)
 Move Constructor. More...
 
DataObjectoperator= (DataObject &&rhs)
 Move Assignment Operator. More...
 
virtual ~DataObject ()
 Standard Destructor. More...
 
virtual unsigned long addRef ()
 Add reference to object. More...
 
virtual unsigned long release ()
 release reference to object More...
 
const std::string & name () const
 Retreive DataObject name. It is the name when registered in the store. More...
 
virtual StatusCode update ()
 Provide empty placeholder for internal object reconfiguration callback. More...
 
 DataObject ()
 Standard Constructor. More...
 
 DataObject (const DataObject &rhs)
 Copy Constructor. More...
 
DataObjectoperator= (const DataObject &rhs)
 Assignment Operator. More...
 
 DataObject (DataObject &&rhs)
 Move Constructor. More...
 
DataObjectoperator= (DataObject &&rhs)
 Move Assignment Operator. More...
 
virtual ~DataObject ()
 Standard Destructor. More...
 
virtual unsigned long addRef ()
 Add reference to object. More...
 
virtual unsigned long release ()
 release reference to object More...
 
const std::string & name () const
 Retreive DataObject name. It is the name when registered in the store. More...
 
virtual StatusCode update ()
 Provide empty placeholder for internal object reconfiguration callback. More...
 
void setRegistry (IRegistry *pRegistry)
 Set pointer to Registry. More...
 
IRegistryregistry () const
 Get pointer to Registry. More...
 
LinkManagerlinkMgr () const
 Retrieve Link manager. More...
 
unsigned char version () const
 Retrieve version number of this object representation. More...
 
void setVersion (unsigned char vsn)
 Set version number of this object representation. More...
 
unsigned long refCount () const
 Return the refcount. More...
 
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the output stream (ASCII) More...
 
void setRegistry (IRegistry *pRegistry)
 Set pointer to Registry. More...
 
IRegistryregistry () const
 Get pointer to Registry. More...
 
LinkManagerlinkMgr () const
 Retrieve Link manager. More...
 
unsigned char version () const
 Retrieve version number of this object representation. More...
 
void setVersion (unsigned char vsn)
 Set version number of this object representation. More...
 
unsigned long refCount () const
 Return the refcount. More...
 
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the output stream (ASCII) More...
 

Static Public Member Functions

static const CLIDclassID ()
 Retrieve the unuqie class ID (static) More...
 
static const CLIDclassID ()
 Retrieve the unuqie class ID (static) More...
 
- Static Public Member Functions inherited from DataObject
static const CLIDclassID ()
 Retrieve reference to class definition structure (static access) More...
 
static const CLIDclassID ()
 Retrieve reference to class definition structure (static access) More...
 

Private Attributes

ConstVector m_data
 

Additional Inherited Members

- Protected Member Functions inherited from ObjectContainerBase
 ObjectContainerBase ()=default
 Constructor. More...
 
 ~ObjectContainerBase () override=default
 Destructor. More...
 
 ObjectContainerBase ()=default
 Constructor. More...
 
 ~ObjectContainerBase () override=default
 Destructor. More...
 

Detailed Description

template<class TYPE>
class SharedObjectsContainer< TYPE >

Very simple class to represent the container of objects which are not ownered by the container.

This concept seem to be very useful for LHCb HLT, DaVinci, tracking, alignments.

Warning
the container is not persistable (on-purpose)
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-07-23

Definition at line 28 of file SharedObjectsContainer.h.

Member Typedef Documentation

template<class TYPE >
typedef ConstVector::const_iterator SharedObjectsContainer< TYPE >::const_iterator

Definition at line 40 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::const_iterator SharedObjectsContainer< TYPE >::const_iterator

Definition at line 40 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::const_reference SharedObjectsContainer< TYPE >::const_reference

Definition at line 38 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::const_reference SharedObjectsContainer< TYPE >::const_reference

Definition at line 38 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::const_reverse_iterator SharedObjectsContainer< TYPE >::const_reverse_iterator

Definition at line 42 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::const_reverse_iterator SharedObjectsContainer< TYPE >::const_reverse_iterator

Definition at line 42 of file SharedObjectsContainer.h.

template<class TYPE >
typedef std::vector<const TYPE*> SharedObjectsContainer< TYPE >::ConstVector

the actual container type

Definition at line 33 of file SharedObjectsContainer.h.

template<class TYPE >
typedef std::vector<const TYPE*> SharedObjectsContainer< TYPE >::ConstVector

the actual container type

Definition at line 33 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::iterator SharedObjectsContainer< TYPE >::iterator

Definition at line 39 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::iterator SharedObjectsContainer< TYPE >::iterator

Definition at line 39 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::reference SharedObjectsContainer< TYPE >::reference

Definition at line 37 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::reference SharedObjectsContainer< TYPE >::reference

Definition at line 37 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::reverse_iterator SharedObjectsContainer< TYPE >::reverse_iterator

Definition at line 41 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::reverse_iterator SharedObjectsContainer< TYPE >::reverse_iterator

Definition at line 41 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::size_type SharedObjectsContainer< TYPE >::size_type

Definition at line 36 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::size_type SharedObjectsContainer< TYPE >::size_type

Definition at line 36 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::value_type SharedObjectsContainer< TYPE >::value_type

various types (to make STL happy)

Definition at line 35 of file SharedObjectsContainer.h.

template<class TYPE >
typedef ConstVector::value_type SharedObjectsContainer< TYPE >::value_type

various types (to make STL happy)

Definition at line 35 of file SharedObjectsContainer.h.

Constructor & Destructor Documentation

template<class TYPE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( )
inline

Definition at line 47 of file SharedObjectsContainer.h.

48  : ObjectContainerBase(), m_data() {} ;
ObjectContainerBase()=default
Constructor.
template<class TYPE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( const ConstVector data)
inline

Definition at line 50 of file SharedObjectsContainer.h.

const ConstVector & data() const
get the access to the underlying container (const)
ObjectContainerBase()=default
Constructor.
template<class TYPE >
template<class DATA >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( DATA  first,
DATA  last 
)
inline

the templated constructor from the pair of iterators

Parameters
first'begin'-iterator of the input sequence
last'last'-iterator of the input sequence

Definition at line 57 of file SharedObjectsContainer.h.

58  : ObjectContainerBase(), m_data(first, last) {}
ObjectContainerBase()=default
Constructor.
template<class TYPE >
template<class DATA , class PREDICATE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( DATA  first,
DATA  last,
const PREDICATE &  cut 
)
inline

the templated constructor from the pair of iterators and the predicate.

Only the elements which satisfy the criteria goes into the container e.g. create the container only with "basic" particles:

// some sequence of someting, convertiblle to "const LHCb::Particle*":
SEQUENCE source = ... ;
PARTICLES* particles = new PARTICLES
( source.begin() ,
source.end () ,
std::mem_fun(&LHCb::Particle::isBasic) ) ;
Parameters
first'begin'-iterator if the input sequence
last'last'-iterator of the input sequence
cutpre predicate

Definition at line 83 of file SharedObjectsContainer.h.

85  {
86  insert ( first , last , cut ) ;
87  }
void insert(const TYPE *object)
insert one object into the container
ObjectContainerBase()=default
Constructor.
template<class TYPE >
virtual SharedObjectsContainer< TYPE >::~SharedObjectsContainer ( )
inlinevirtual

destructor

Definition at line 89 of file SharedObjectsContainer.h.

89 { m_data.clear() ; }
template<class TYPE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( )
inline

Definition at line 47 of file SharedObjectsContainer.h.

48  : ObjectContainerBase(), m_data() {} ;
ObjectContainerBase()=default
Constructor.
template<class TYPE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( const ConstVector data)
inline

Definition at line 50 of file SharedObjectsContainer.h.

const ConstVector & data() const
get the access to the underlying container (const)
ObjectContainerBase()=default
Constructor.
template<class TYPE >
template<class DATA >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( DATA  first,
DATA  last 
)
inline

the templated constructor from the pair of iterators

Parameters
first'begin'-iterator of the input sequence
last'last'-iterator of the input sequence

Definition at line 57 of file SharedObjectsContainer.h.

58  : ObjectContainerBase(), m_data(first, last) {}
ObjectContainerBase()=default
Constructor.
template<class TYPE >
template<class DATA , class PREDICATE >
SharedObjectsContainer< TYPE >::SharedObjectsContainer ( DATA  first,
DATA  last,
const PREDICATE &  cut 
)
inline

the templated constructor from the pair of iterators and the predicate.

Only the elements which satisfy the criteria goes into the container e.g. create the container only with "basic" particles:

// some sequence of someting, convertiblle to "const LHCb::Particle*":
SEQUENCE source = ... ;
PARTICLES* particles = new PARTICLES
( source.begin() ,
source.end () ,
std::mem_fun(&LHCb::Particle::isBasic) ) ;
Parameters
first'begin'-iterator if the input sequence
last'last'-iterator of the input sequence
cutpre predicate

Definition at line 83 of file SharedObjectsContainer.h.

85  {
86  insert ( first , last , cut ) ;
87  }
void insert(const TYPE *object)
insert one object into the container
ObjectContainerBase()=default
Constructor.
template<class TYPE >
virtual SharedObjectsContainer< TYPE >::~SharedObjectsContainer ( )
inlinevirtual

destructor

Definition at line 89 of file SharedObjectsContainer.h.

89 { m_data.clear() ; }

Member Function Documentation

template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::add ( ContainedObject object)
inlinevirtual

Virtual functions (forwards to the concrete container definitions) Add an object to the container.

On success the object's index is returned.

Implements ObjectContainerBase.

Definition at line 336 of file SharedObjectsContainer.h.

337  {
338  if ( 0 == object ) { return -1 ; } // RETURN
339  TYPE* _obj = dynamic_cast<TYPE*> ( object ) ;
340  if ( 0 == _obj ) { return -1 ; } // RETURN
341  const size_type pos = size() ;
342  push_back ( _obj ) ;
343  return pos ;
344  }
void push_back(const TYPE *object)
insert one object into the container
ConstVector::size_type size_type
size_type size() const
get the actual size of the container
template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::add ( ContainedObject object)
inlinevirtual

Virtual functions (forwards to the concrete container definitions) Add an object to the container.

On success the object's index is returned.

Implements ObjectContainerBase.

Definition at line 336 of file SharedObjectsContainer.h.

337  {
338  if ( 0 == object ) { return -1 ; } // RETURN
339  TYPE* _obj = dynamic_cast<TYPE*> ( object ) ;
340  if ( 0 == _obj ) { return -1 ; } // RETURN
341  const size_type pos = size() ;
342  push_back ( _obj ) ;
343  return pos ;
344  }
void push_back(const TYPE *object)
insert one object into the container
ConstVector::size_type size_type
size_type size() const
get the actual size of the container
template<class TYPE >
reference SharedObjectsContainer< TYPE >::at ( size_type  index)
inline

checked access

Definition at line 269 of file SharedObjectsContainer.h.

269 { return m_data.at(index) ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
reference SharedObjectsContainer< TYPE >::at ( size_type  index)
inline

checked access

Definition at line 269 of file SharedObjectsContainer.h.

269 { return m_data.at(index) ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::at ( size_type  index) const
inline

checked access (const-version)

Definition at line 271 of file SharedObjectsContainer.h.

271 { return m_data.at(index) ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::at ( size_type  index) const
inline

checked access (const-version)

Definition at line 271 of file SharedObjectsContainer.h.

271 { return m_data.at(index) ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
reference SharedObjectsContainer< TYPE >::back ( )
inline

the last element (only for non-empty vectors)

Definition at line 291 of file SharedObjectsContainer.h.

291 { return m_data . back () ; }
reference back()
the last element (only for non-empty vectors)
template<class TYPE >
reference SharedObjectsContainer< TYPE >::back ( )
inline

the last element (only for non-empty vectors)

Definition at line 291 of file SharedObjectsContainer.h.

291 { return m_data . back () ; }
reference back()
the last element (only for non-empty vectors)
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::back ( ) const
inline

the last element (only for non-empty vectors) (const-version)

Definition at line 293 of file SharedObjectsContainer.h.

293 { return m_data . back () ; }
reference back()
the last element (only for non-empty vectors)
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::back ( ) const
inline

the last element (only for non-empty vectors) (const-version)

Definition at line 293 of file SharedObjectsContainer.h.

293 { return m_data . back () ; }
reference back()
the last element (only for non-empty vectors)
template<class TYPE >
iterator SharedObjectsContainer< TYPE >::begin ( )
inline

Definition at line 275 of file SharedObjectsContainer.h.

275 { return m_data . begin () ; }
template<class TYPE >
iterator SharedObjectsContainer< TYPE >::begin ( )
inline

Definition at line 275 of file SharedObjectsContainer.h.

275 { return m_data . begin () ; }
template<class TYPE >
const_iterator SharedObjectsContainer< TYPE >::begin ( ) const
inline

Definition at line 277 of file SharedObjectsContainer.h.

277 { return m_data . begin () ; }
template<class TYPE >
const_iterator SharedObjectsContainer< TYPE >::begin ( ) const
inline

Definition at line 277 of file SharedObjectsContainer.h.

277 { return m_data . begin () ; }
template<class TYPE >
static const CLID& SharedObjectsContainer< TYPE >::classID ( )
inlinestatic

Retrieve the unuqie class ID (static)

Definition at line 97 of file SharedObjectsContainer.h.

98  {
99  static const CLID s_clid =
100  ( ( static_cast<CLID> ( -1 ) << 16 ) // 16 used and 16 empty bits
101  & !CLID_ObjectVector // not an ObjectVector
102  & !CLID_ObjectList // not an ObjectList
103  & !static_cast<CLID> ( 0x00030000 ) // not a KeyedContainer/map
104  & !static_cast<CLID> ( 0x00040000 ) )// not a KeyedContainer/hashmap
105  + TYPE::classID() ; // the specific CLID from the contents
106  //
107  return s_clid;
108  }
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
template<class TYPE >
static const CLID& SharedObjectsContainer< TYPE >::classID ( )
inlinestatic

Retrieve the unuqie class ID (static)

Definition at line 97 of file SharedObjectsContainer.h.

98  {
99  static const CLID s_clid =
100  ( ( static_cast<CLID> ( -1 ) << 16 ) // 16 used and 16 empty bits
101  & !CLID_ObjectVector // not an ObjectVector
102  & !CLID_ObjectList // not an ObjectList
103  & !static_cast<CLID> ( 0x00030000 ) // not a KeyedContainer/map
104  & !static_cast<CLID> ( 0x00040000 ) )// not a KeyedContainer/hashmap
105  + TYPE::classID() ; // the specific CLID from the contents
106  //
107  return s_clid;
108  }
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
template<class TYPE >
virtual const CLID& SharedObjectsContainer< TYPE >::clID ( ) const
inlinevirtual

Retrieve the unique class ID (virtual)

Reimplemented from DataObject.

Definition at line 94 of file SharedObjectsContainer.h.

static const CLID & classID()
Retrieve the unuqie class ID (static)
template<class TYPE >
virtual const CLID& SharedObjectsContainer< TYPE >::clID ( ) const
inlinevirtual

Retrieve the unique class ID (virtual)

Reimplemented from DataObject.

Definition at line 94 of file SharedObjectsContainer.h.

static const CLID & classID()
Retrieve the unuqie class ID (static)
template<class TYPE >
virtual ContainedObject* SharedObjectsContainer< TYPE >::containedObject ( long  index) const
inlinevirtual

Pointer to an object of a given distance.

Parameters
indexth eindex to be checked
Returns
the object

Implements ObjectContainerBase.

Definition at line 324 of file SharedObjectsContainer.h.

325  {
326  if ( 0 > index || !(index < (long) size () ) ) { return 0 ; } // RETURN
327  const ContainedObject* co = m_data[index] ;
328  return const_cast<ContainedObject*>( co ) ;
329  }
size_type size() const
get the actual size of the container
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
template<class TYPE >
virtual ContainedObject* SharedObjectsContainer< TYPE >::containedObject ( long  index) const
inlinevirtual

Pointer to an object of a given distance.

Parameters
indexth eindex to be checked
Returns
the object

Implements ObjectContainerBase.

Definition at line 324 of file SharedObjectsContainer.h.

325  {
326  if ( 0 > index || !(index < (long) size () ) ) { return 0 ; } // RETURN
327  const ContainedObject* co = m_data[index] ;
328  return const_cast<ContainedObject*>( co ) ;
329  }
size_type size() const
get the actual size of the container
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
template<class TYPE >
const ConstVector& SharedObjectsContainer< TYPE >::data ( ) const
inline

get the access to the underlying container (const)

Definition at line 113 of file SharedObjectsContainer.h.

113 { return m_data ; }
template<class TYPE >
const ConstVector& SharedObjectsContainer< TYPE >::data ( ) const
inline

get the access to the underlying container (const)

Definition at line 113 of file SharedObjectsContainer.h.

113 { return m_data ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::empty ( ) const
inline

empty container?

Definition at line 122 of file SharedObjectsContainer.h.

122 { return m_data.empty () ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::empty ( ) const
inline

empty container?

Definition at line 122 of file SharedObjectsContainer.h.

122 { return m_data.empty () ; }
template<class TYPE >
iterator SharedObjectsContainer< TYPE >::end ( )
inline

Definition at line 276 of file SharedObjectsContainer.h.

276 { return m_data . end () ; }
template<class TYPE >
iterator SharedObjectsContainer< TYPE >::end ( )
inline

Definition at line 276 of file SharedObjectsContainer.h.

276 { return m_data . end () ; }
template<class TYPE >
const_iterator SharedObjectsContainer< TYPE >::end ( ) const
inline

Definition at line 278 of file SharedObjectsContainer.h.

278 { return m_data . end () ; }
template<class TYPE >
const_iterator SharedObjectsContainer< TYPE >::end ( ) const
inline

Definition at line 278 of file SharedObjectsContainer.h.

278 { return m_data . end () ; }
template<class TYPE >
void SharedObjectsContainer< TYPE >::erase ( iterator  i)
inline

erase the object by iterator

Definition at line 211 of file SharedObjectsContainer.h.

211 { m_data.erase ( i ) ; }
list i
Definition: ana.py:128
template<class TYPE >
void SharedObjectsContainer< TYPE >::erase ( iterator  i)
inline

erase the object by iterator

Definition at line 211 of file SharedObjectsContainer.h.

211 { m_data.erase ( i ) ; }
list i
Definition: ana.py:128
template<class TYPE >
template<class PREDICATE >
void SharedObjectsContainer< TYPE >::erase ( const PREDICATE &  cut)
inline

erase the objects which satisfy the criteria

E.g. remove all particles with small transverse momentum

namespace bl = boost::lambda ;
PARTICLES* particles = ... ;
particles -> erase
( bl::bind(&LHCb::Particle::pt,bl::_1) < 1 * Gaudi::Units::GeV ) ;
See also
std::remove_if
Parameters
cutpredicate

Definition at line 230 of file SharedObjectsContainer.h.

231  { m_data.erase( std::remove_if ( begin() , end() , cut ) , end() ) ; }
template<class TYPE >
template<class PREDICATE >
void SharedObjectsContainer< TYPE >::erase ( const PREDICATE &  cut)
inline

erase the objects which satisfy the criteria

E.g. remove all particles with small transverse momentum

namespace bl = boost::lambda ;
PARTICLES* particles = ... ;
particles -> erase
( bl::bind(&LHCb::Particle::pt,bl::_1) < 1 * Gaudi::Units::GeV ) ;
See also
std::remove_if
Parameters
cutpredicate

Definition at line 230 of file SharedObjectsContainer.h.

231  { m_data.erase( std::remove_if ( begin() , end() , cut ) , end() ) ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::erase ( const TYPE *  object)
inline

erase the first occurance of the certain element

To remove all occurances one can use:

PARTICLES* particles = ... ;
const LHCb::Particle* B = ... ;
// remove all occurances
while ( particles -> erase ( B ) ) {} ;
Parameters
objectthe element to be removed
Returns
true if the element is removed

Definition at line 250 of file SharedObjectsContainer.h.

251  {
252  iterator i = std::find ( begin() , end() , object ) ;
253  if ( end() == i ) { return false ; }
254  m_data.erase ( i ) ;
255  return true ;
256  }
ConstVector::iterator iterator
list i
Definition: ana.py:128
template<class TYPE >
bool SharedObjectsContainer< TYPE >::erase ( const TYPE *  object)
inline

erase the first occurance of the certain element

To remove all occurances one can use:

PARTICLES* particles = ... ;
const LHCb::Particle* B = ... ;
// remove all occurances
while ( particles -> erase ( B ) ) {} ;
Parameters
objectthe element to be removed
Returns
true if the element is removed

Definition at line 250 of file SharedObjectsContainer.h.

251  {
252  iterator i = std::find ( begin() , end() , object ) ;
253  if ( end() == i ) { return false ; }
254  m_data.erase ( i ) ;
255  return true ;
256  }
ConstVector::iterator iterator
list i
Definition: ana.py:128
template<class TYPE >
reference SharedObjectsContainer< TYPE >::front ( )
inline

the first element (only for non-empty vectors)

Definition at line 287 of file SharedObjectsContainer.h.

287 { return m_data . front () ; }
reference front()
the first element (only for non-empty vectors)
template<class TYPE >
reference SharedObjectsContainer< TYPE >::front ( )
inline

the first element (only for non-empty vectors)

Definition at line 287 of file SharedObjectsContainer.h.

287 { return m_data . front () ; }
reference front()
the first element (only for non-empty vectors)
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::front ( ) const
inline

the first element (only for non-empty vectors) (const-version)

Definition at line 289 of file SharedObjectsContainer.h.

289 { return m_data . front () ; }
reference front()
the first element (only for non-empty vectors)
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::front ( ) const
inline

the first element (only for non-empty vectors) (const-version)

Definition at line 289 of file SharedObjectsContainer.h.

289 { return m_data . front () ; }
reference front()
the first element (only for non-empty vectors)
template<class TYPE >
template<class OUTPUT , class PREDICATE >
OUTPUT SharedObjectsContainer< TYPE >::get ( const PREDICATE &  cut,
OUTPUT  output 
) const
inline

get from the container all objects which satisfy the certain criteria

E.g. get all particles with transverse momentum in excess of 1 * GeV

namespace bl = boost::lambda ;
typedef std::vector<const LHCb::Particle*> TARGET ;
PARTICLES* particles = ... ;
TARGET target ;
particles -> get
( bl::bind(&LHCb::Particle::pt,bl::_1) > 1 * Gaudi::Units::GeV ,
std::back_inserter ( target ) ) ;

Essentially this functionality is very useful due to missing "std::copy_if".

Parameters
cutthe predicate
outptutthe output iterator
Returns
the current position of the output itrator (almost useless)

Definition at line 203 of file SharedObjectsContainer.h.

205  {
206  for ( const_iterator iobj = begin() ; end() != iobj ; ++iobj )
207  { if ( cut ( *iobj ) ) { *output = *iobj ; ++output ; } }
208  return output ;
209  }
ConstVector::const_iterator const_iterator
template<class TYPE >
template<class OUTPUT , class PREDICATE >
OUTPUT SharedObjectsContainer< TYPE >::get ( const PREDICATE &  cut,
OUTPUT  output 
) const
inline

get from the container all objects which satisfy the certain criteria

E.g. get all particles with transverse momentum in excess of 1 * GeV

namespace bl = boost::lambda ;
typedef std::vector<const LHCb::Particle*> TARGET ;
PARTICLES* particles = ... ;
TARGET target ;
particles -> get
( bl::bind(&LHCb::Particle::pt,bl::_1) > 1 * Gaudi::Units::GeV ,
std::back_inserter ( target ) ) ;

Essentially this functionality is very useful due to missing "std::copy_if".

Parameters
cutthe predicate
outptutthe output iterator
Returns
the current position of the output itrator (almost useless)

Definition at line 203 of file SharedObjectsContainer.h.

205  {
206  for ( const_iterator iobj = begin() ; end() != iobj ; ++iobj )
207  { if ( cut ( *iobj ) ) { *output = *iobj ; ++output ; } }
208  return output ;
209  }
ConstVector::const_iterator const_iterator
template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::index ( const ContainedObject object) const
inlinevirtual

Distance of a given object from the beginning of its container.

Parameters
objectthe object to be checked

Implements ObjectContainerBase.

Definition at line 315 of file SharedObjectsContainer.h.

316  {
317  const_iterator _i = std::find ( begin() , end() , object ) ;
318  return end() != _i ? ( _i - begin() ) : -1 ; // RETURN
319  }
ConstVector::const_iterator const_iterator
template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::index ( const ContainedObject object) const
inlinevirtual

Distance of a given object from the beginning of its container.

Parameters
objectthe object to be checked

Implements ObjectContainerBase.

Definition at line 315 of file SharedObjectsContainer.h.

316  {
317  const_iterator _i = std::find ( begin() , end() , object ) ;
318  return end() != _i ? ( _i - begin() ) : -1 ; // RETURN
319  }
ConstVector::const_iterator const_iterator
template<class TYPE >
void SharedObjectsContainer< TYPE >::insert ( const TYPE *  object)
inline

insert one object into the container

Parameters
objectobject to be added

Definition at line 130 of file SharedObjectsContainer.h.

130 { m_data.push_back ( object ) ; }
template<class TYPE >
void SharedObjectsContainer< TYPE >::insert ( const TYPE *  object)
inline

insert one object into the container

Parameters
objectobject to be added

Definition at line 130 of file SharedObjectsContainer.h.

130 { m_data.push_back ( object ) ; }
template<class TYPE >
template<class DATA >
void SharedObjectsContainer< TYPE >::insert ( DATA  first,
DATA  last 
)
inline

add the sequence of objects into the container

Parameters
first'begin'-iterator for the sequnce
last'end'-iterator for the sequence

Definition at line 137 of file SharedObjectsContainer.h.

138  { m_data.insert ( end() , first ,last ) ; }
template<class TYPE >
template<class DATA >
void SharedObjectsContainer< TYPE >::insert ( DATA  first,
DATA  last 
)
inline

add the sequence of objects into the container

Parameters
first'begin'-iterator for the sequnce
last'end'-iterator for the sequence

Definition at line 137 of file SharedObjectsContainer.h.

138  { m_data.insert ( end() , first ,last ) ; }
template<class TYPE >
template<class DATA , class PREDICATE >
void SharedObjectsContainer< TYPE >::insert ( DATA  first,
DATA  last,
const PREDICATE &  cut 
)
inline

add the sequence of 'good'objects into the container

Only the objects which satisfy the predicate go to the container, e.g. put into container only particles which transverse momentum in excess of 1 * GeV:

namespace bl = boost::lambda ;
// some sequence of someting, convertible to "const LHCb::Particle*":
SEQUENCE source = ... ;
PARTICLES* particles = ... ;
particles -> insert
( source.begin() ,
source.end () ,
bl::bind(&LHCb::Particle::pt,bl::_1) > 1 * Gaudi::Units::GeV ) ;
Parameters
first'begin'-iterator for the sequnce
last'end'-iterator for the sequence
cutthe predicate to be applied

Definition at line 167 of file SharedObjectsContainer.h.

170  {
171  m_data.reserve ( m_data.size() + std::distance ( first , last ) ) ;
172  for ( ; first != last ; ++first )
173  { if ( cut ( *first ) ) { m_data.push_back ( *first ) ; } }
174  }
template<class TYPE >
template<class DATA , class PREDICATE >
void SharedObjectsContainer< TYPE >::insert ( DATA  first,
DATA  last,
const PREDICATE &  cut 
)
inline

add the sequence of 'good'objects into the container

Only the objects which satisfy the predicate go to the container, e.g. put into container only particles which transverse momentum in excess of 1 * GeV:

namespace bl = boost::lambda ;
// some sequence of someting, convertible to "const LHCb::Particle*":
SEQUENCE source = ... ;
PARTICLES* particles = ... ;
particles -> insert
( source.begin() ,
source.end () ,
bl::bind(&LHCb::Particle::pt,bl::_1) > 1 * Gaudi::Units::GeV ) ;
Parameters
first'begin'-iterator for the sequnce
last'end'-iterator for the sequence
cutthe predicate to be applied

Definition at line 167 of file SharedObjectsContainer.h.

170  {
171  m_data.reserve ( m_data.size() + std::distance ( first , last ) ) ;
172  for ( ; first != last ; ++first )
173  { if ( cut ( *first ) ) { m_data.push_back ( *first ) ; } }
174  }
template<class TYPE >
virtual size_type SharedObjectsContainer< TYPE >::numberOfObjects ( ) const
inlinevirtual

Number of objects in the container.

Implements ObjectContainerBase.

Definition at line 331 of file SharedObjectsContainer.h.

331 { return m_data.size() ; }
template<class TYPE >
virtual size_type SharedObjectsContainer< TYPE >::numberOfObjects ( ) const
inlinevirtual

Number of objects in the container.

Implements ObjectContainerBase.

Definition at line 331 of file SharedObjectsContainer.h.

331 { return m_data.size() ; }
template<class TYPE >
SharedObjectsContainer< TYPE >::operator const ConstVector & ( ) const
inline

cast to the underlying container

Definition at line 115 of file SharedObjectsContainer.h.

115 { return data () ; }
const ConstVector & data() const
get the access to the underlying container (const)
template<class TYPE >
SharedObjectsContainer< TYPE >::operator const ConstVector & ( ) const
inline

cast to the underlying container

Definition at line 115 of file SharedObjectsContainer.h.

115 { return data () ; }
const ConstVector & data() const
get the access to the underlying container (const)
template<class TYPE >
reference SharedObjectsContainer< TYPE >::operator() ( size_type  index)
inline

'functional'-access

Definition at line 265 of file SharedObjectsContainer.h.

265 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
reference SharedObjectsContainer< TYPE >::operator() ( size_type  index)
inline

'functional'-access

Definition at line 265 of file SharedObjectsContainer.h.

265 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::operator() ( size_type  index) const
inline

'functional'-access (const version)

Definition at line 267 of file SharedObjectsContainer.h.

267 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::operator() ( size_type  index) const
inline

'functional'-access (const version)

Definition at line 267 of file SharedObjectsContainer.h.

267 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator< ( const SharedObjectsContainer< TYPE > &  right) const
inline

comparisons with other container

Definition at line 304 of file SharedObjectsContainer.h.

305  { return m_data < right.m_data ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator< ( const SharedObjectsContainer< TYPE > &  right) const
inline

comparisons with other container

Definition at line 304 of file SharedObjectsContainer.h.

305  { return m_data < right.m_data ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator< ( const ConstVector right) const
inline

comparisons with corresponding vector

Definition at line 307 of file SharedObjectsContainer.h.

308  { return m_data < right ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator< ( const ConstVector right) const
inline

comparisons with corresponding vector

Definition at line 307 of file SharedObjectsContainer.h.

308  { return m_data < right ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator== ( const SharedObjectsContainer< TYPE > &  right) const
inline

equal content with other container ?

Definition at line 298 of file SharedObjectsContainer.h.

299  { return &right == this || right.m_data == m_data ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator== ( const SharedObjectsContainer< TYPE > &  right) const
inline

equal content with other container ?

Definition at line 298 of file SharedObjectsContainer.h.

299  { return &right == this || right.m_data == m_data ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator== ( const ConstVector right) const
inline

equal content with corresponding vector ?

Definition at line 301 of file SharedObjectsContainer.h.

302  { return m_data == right ; }
template<class TYPE >
bool SharedObjectsContainer< TYPE >::operator== ( const ConstVector right) const
inline

equal content with corresponding vector ?

Definition at line 301 of file SharedObjectsContainer.h.

302  { return m_data == right ; }
template<class TYPE >
reference SharedObjectsContainer< TYPE >::operator[] ( size_type  index)
inline

index access

Definition at line 261 of file SharedObjectsContainer.h.

261 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
reference SharedObjectsContainer< TYPE >::operator[] ( size_type  index)
inline

index access

Definition at line 261 of file SharedObjectsContainer.h.

261 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::operator[] ( size_type  index) const
inline

index access (const-version)

Definition at line 263 of file SharedObjectsContainer.h.

263 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
const_reference SharedObjectsContainer< TYPE >::operator[] ( size_type  index) const
inline

index access (const-version)

Definition at line 263 of file SharedObjectsContainer.h.

263 { return m_data [index] ; }
virtual long index(const ContainedObject *object) const
Distance of a given object from the beginning of its container.
template<class TYPE >
void SharedObjectsContainer< TYPE >::push_back ( const TYPE *  object)
inline

insert one object into the container

Parameters
objectobject to be added

Definition at line 126 of file SharedObjectsContainer.h.

126 { m_data.push_back ( object ) ; }
template<class TYPE >
void SharedObjectsContainer< TYPE >::push_back ( const TYPE *  object)
inline

insert one object into the container

Parameters
objectobject to be added

Definition at line 126 of file SharedObjectsContainer.h.

126 { m_data.push_back ( object ) ; }
template<class TYPE >
reverse_iterator SharedObjectsContainer< TYPE >::rbegin ( )
inline

Definition at line 279 of file SharedObjectsContainer.h.

279 { return m_data . rbegin () ; }
template<class TYPE >
reverse_iterator SharedObjectsContainer< TYPE >::rbegin ( )
inline

Definition at line 279 of file SharedObjectsContainer.h.

279 { return m_data . rbegin () ; }
template<class TYPE >
const_reverse_iterator SharedObjectsContainer< TYPE >::rbegin ( ) const
inline

Definition at line 281 of file SharedObjectsContainer.h.

281 { return m_data . rbegin () ; }
template<class TYPE >
const_reverse_iterator SharedObjectsContainer< TYPE >::rbegin ( ) const
inline

Definition at line 281 of file SharedObjectsContainer.h.

281 { return m_data . rbegin () ; }
template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::remove ( ContainedObject value)
inlinevirtual

Release object from the container (the pointer will be removed from the container, but the object itself will remain alive).

If the object was found it's index is returned.

Implements ObjectContainerBase.

Definition at line 349 of file SharedObjectsContainer.h.

350  {
351  iterator _i = std::find ( begin() , end() , value ) ;
352  if ( end() == _i ) { return -1 ; } // RETURN
353  const size_type pos = _i - begin() ;
354  m_data.erase ( _i ) ;
355  return pos ; // RETURN
356  }
ConstVector::size_type size_type
ConstVector::iterator iterator
template<class TYPE >
virtual long SharedObjectsContainer< TYPE >::remove ( ContainedObject value)
inlinevirtual

Release object from the container (the pointer will be removed from the container, but the object itself will remain alive).

If the object was found it's index is returned.

Implements ObjectContainerBase.

Definition at line 349 of file SharedObjectsContainer.h.

350  {
351  iterator _i = std::find ( begin() , end() , value ) ;
352  if ( end() == _i ) { return -1 ; } // RETURN
353  const size_type pos = _i - begin() ;
354  m_data.erase ( _i ) ;
355  return pos ; // RETURN
356  }
ConstVector::size_type size_type
ConstVector::iterator iterator
template<class TYPE >
reverse_iterator SharedObjectsContainer< TYPE >::rend ( )
inline

Definition at line 280 of file SharedObjectsContainer.h.

280 { return m_data . rend () ; }
template<class TYPE >
reverse_iterator SharedObjectsContainer< TYPE >::rend ( )
inline

Definition at line 280 of file SharedObjectsContainer.h.

280 { return m_data . rend () ; }
template<class TYPE >
const_reverse_iterator SharedObjectsContainer< TYPE >::rend ( ) const
inline

Definition at line 282 of file SharedObjectsContainer.h.

282 { return m_data . rend () ; }
template<class TYPE >
const_reverse_iterator SharedObjectsContainer< TYPE >::rend ( ) const
inline

Definition at line 282 of file SharedObjectsContainer.h.

282 { return m_data . rend () ; }
template<class TYPE >
size_type SharedObjectsContainer< TYPE >::size ( ) const
inline

get the actual size of the container

Definition at line 120 of file SharedObjectsContainer.h.

120 { return m_data.size () ; }
template<class TYPE >
size_type SharedObjectsContainer< TYPE >::size ( ) const
inline

get the actual size of the container

Definition at line 120 of file SharedObjectsContainer.h.

120 { return m_data.size () ; }

Member Data Documentation

template<class TYPE >
ConstVector SharedObjectsContainer< TYPE >::m_data
private

Definition at line 361 of file SharedObjectsContainer.h.


The documentation for this class was generated from the following file: