|
Gaudi Framework, version v23r7 |
| Home | Generated: Wed Mar 20 2013 |
Very simple class to represent the container of objects which are not ownered by the container. More...
#include <SharedObjectsContainer.h>


Public Types | |
| typedef std::vector< const TYPE * > | ConstVector |
| the actual container type | |
| typedef ConstVector::value_type | value_type |
| various types (to make STL happy) | |
| 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 | |
Public Member Functions | |
| SharedObjectsContainer () | |
| SharedObjectsContainer (const ConstVector &data) | |
| template<class DATA > | |
| SharedObjectsContainer (DATA first, DATA last) | |
| the templated constructor from the pair of iterators | |
| template<class DATA , class PREDICATE > | |
| SharedObjectsContainer (DATA first, DATA last, const PREDICATE &cut) | |
| the templated constructor from the pair of iterators and the predicate. | |
| virtual | ~SharedObjectsContainer () |
| destructor | |
| virtual const CLID & | clID () const |
| Retrieve the unique class ID (virtual) | |
| const ConstVector & | data () const |
| get the access to the underlying container (const) | |
| operator const ConstVector & () const | |
| cast to the underlying container | |
| size_type | size () const |
| get the actual size of the container | |
| bool | empty () const |
| empty container? | |
| void | push_back (const TYPE *object) |
| insert one object into the container | |
| void | insert (const TYPE *object) |
| insert one object into the container | |
| template<class DATA > | |
| void | insert (DATA first, DATA last) |
| add the sequence of objects into the container | |
| template<class DATA , class PREDICATE > | |
| void | insert (DATA first, DATA last, const PREDICATE &cut) |
| add the sequence of 'good'objects into the container | |
| template<class OUTPUT , class PREDICATE > | |
| OUTPUT | get (const PREDICATE &cut, OUTPUT output) const |
| get from the container all objects which satisfy the certain criteria | |
| void | erase (iterator i) |
| erase the object by iterator | |
| template<class PREDICATE > | |
| void | erase (const PREDICATE &cut) |
| erase the objects which satisfy the criteria | |
| bool | erase (const TYPE *object) |
| erase the first occurance of the certain element | |
| reference | operator[] (size_type index) |
| index access | |
| const_reference | operator[] (size_type index) const |
| index access (const-version) | |
| reference | operator() (size_type index) |
| 'functional'-access | |
| const_reference | operator() (size_type index) const |
| 'functional'-access (const version) | |
| reference | at (size_type index) |
| checked access | |
| const_reference | at (size_type index) const |
| checked access (const-version) | |
| 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) | |
| const_reference | front () const |
| the first element (only for non-empty vectors) (const-version) | |
| reference | back () |
| the last element (only for non-empty vectors) | |
| const_reference | back () const |
| the last element (only for non-empty vectors) (const-version) | |
| bool | operator== (const SharedObjectsContainer &right) const |
| equal content with other container ? | |
| bool | operator== (const ConstVector &right) const |
| equal content with corresponding vector ? | |
| bool | operator< (const SharedObjectsContainer &right) const |
| comparisons with other container | |
| bool | operator< (const ConstVector &right) const |
| comparisons with corresponding vector | |
| virtual long | index (const ContainedObject *object) const |
| Distance of a given object from the beginning of its container. | |
| virtual ContainedObject * | containedObject (long index) const |
| Pointer to an object of a given distance. | |
| virtual size_type | numberOfObjects () const |
| Number of objects in the container. | |
| virtual long | add (ContainedObject *object) |
| Virtual functions (forwards to the concrete container definitions) Add an object to the container. | |
| 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). | |
Static Public Member Functions | |
| static const CLID & | classID () |
| Retrieve the unuqie class ID (static) | |
Private Attributes | |
| ConstVector | m_data |
Additional Inherited Members | |
Protected Member Functions inherited from ObjectContainerBase | |
| ObjectContainerBase () | |
| Constructor. | |
| virtual | ~ObjectContainerBase () |
| Destructor. | |
Friends inherited from DataObject | |
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.
Definition at line 30 of file SharedObjectsContainer.h.
| typedef ConstVector::const_iterator SharedObjectsContainer< TYPE >::const_iterator |
Definition at line 42 of file SharedObjectsContainer.h.
| typedef ConstVector::const_reference SharedObjectsContainer< TYPE >::const_reference |
Definition at line 40 of file SharedObjectsContainer.h.
| typedef ConstVector::const_reverse_iterator SharedObjectsContainer< TYPE >::const_reverse_iterator |
Definition at line 44 of file SharedObjectsContainer.h.
| typedef std::vector<const TYPE*> SharedObjectsContainer< TYPE >::ConstVector |
the actual container type
Definition at line 35 of file SharedObjectsContainer.h.
| typedef ConstVector::iterator SharedObjectsContainer< TYPE >::iterator |
Definition at line 41 of file SharedObjectsContainer.h.
| typedef ConstVector::reference SharedObjectsContainer< TYPE >::reference |
Definition at line 39 of file SharedObjectsContainer.h.
| typedef ConstVector::reverse_iterator SharedObjectsContainer< TYPE >::reverse_iterator |
Definition at line 43 of file SharedObjectsContainer.h.
| typedef ConstVector::size_type SharedObjectsContainer< TYPE >::size_type |
Definition at line 38 of file SharedObjectsContainer.h.
| typedef ConstVector::value_type SharedObjectsContainer< TYPE >::value_type |
various types (to make STL happy)
Definition at line 37 of file SharedObjectsContainer.h.
|
inline |
Definition at line 49 of file SharedObjectsContainer.h.
|
inline |
Definition at line 52 of file SharedObjectsContainer.h.
|
inline |
the templated constructor from the pair of iterators
| first | 'begin'-iterator of the input sequence |
| last | 'last'-iterator of the input sequence |
Definition at line 59 of file SharedObjectsContainer.h.
|
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:
| first | 'begin'-iterator if the input sequence |
| last | 'last'-iterator of the input sequence |
| cut | pre predicate |
Definition at line 85 of file SharedObjectsContainer.h.
|
inlinevirtual |
|
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 338 of file SharedObjectsContainer.h.
|
inline |
checked access
Definition at line 271 of file SharedObjectsContainer.h.
|
inline |
checked access (const-version)
Definition at line 273 of file SharedObjectsContainer.h.
|
inline |
the last element (only for non-empty vectors)
Definition at line 293 of file SharedObjectsContainer.h.
|
inline |
the last element (only for non-empty vectors) (const-version)
Definition at line 295 of file SharedObjectsContainer.h.
|
inline |
Definition at line 277 of file SharedObjectsContainer.h.
|
inline |
Definition at line 279 of file SharedObjectsContainer.h.
|
inlinestatic |
Retrieve the unuqie class ID (static)
Definition at line 99 of file SharedObjectsContainer.h.
|
inlinevirtual |
Retrieve the unique class ID (virtual)
Reimplemented from DataObject.
Definition at line 96 of file SharedObjectsContainer.h.
|
inlinevirtual |
Pointer to an object of a given distance.
| index | th eindex to be checked |
Implements ObjectContainerBase.
Definition at line 326 of file SharedObjectsContainer.h.
|
inline |
get the access to the underlying container (const)
Definition at line 115 of file SharedObjectsContainer.h.
|
inline |
empty container?
Definition at line 124 of file SharedObjectsContainer.h.
|
inline |
Definition at line 278 of file SharedObjectsContainer.h.
|
inline |
Definition at line 280 of file SharedObjectsContainer.h.
|
inline |
erase the object by iterator
Definition at line 213 of file SharedObjectsContainer.h.
|
inline |
erase the objects which satisfy the criteria
E.g. remove all particles with small transverse momentum
| cut | predicate |
Definition at line 232 of file SharedObjectsContainer.h.
|
inline |
erase the first occurance of the certain element
To remove all occurances one can use:
| object | the element to be removed |
Definition at line 252 of file SharedObjectsContainer.h.
|
inline |
the first element (only for non-empty vectors)
Definition at line 289 of file SharedObjectsContainer.h.
|
inline |
the first element (only for non-empty vectors) (const-version)
Definition at line 291 of file SharedObjectsContainer.h.
|
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
Essentially this functionality is very useful due to missing "std::copy_if".
| cut | the predicate |
| outptut | the output iterator |
Definition at line 205 of file SharedObjectsContainer.h.
|
inlinevirtual |
Distance of a given object from the beginning of its container.
| object | the object to be checked |
Implements ObjectContainerBase.
Definition at line 317 of file SharedObjectsContainer.h.
|
inline |
insert one object into the container
| object | object to be added |
Definition at line 132 of file SharedObjectsContainer.h.
|
inline |
add the sequence of objects into the container
| first | 'begin'-iterator for the sequnce |
| last | 'end'-iterator for the sequence |
Definition at line 139 of file SharedObjectsContainer.h.
|
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:
| first | 'begin'-iterator for the sequnce |
| last | 'end'-iterator for the sequence |
| cut | the predicate to be applied |
Definition at line 169 of file SharedObjectsContainer.h.
|
inlinevirtual |
Number of objects in the container.
Implements ObjectContainerBase.
Definition at line 333 of file SharedObjectsContainer.h.
|
inline |
cast to the underlying container
Definition at line 117 of file SharedObjectsContainer.h.
|
inline |
'functional'-access
Definition at line 267 of file SharedObjectsContainer.h.
|
inline |
'functional'-access (const version)
Definition at line 269 of file SharedObjectsContainer.h.
|
inline |
comparisons with other container
Definition at line 306 of file SharedObjectsContainer.h.
|
inline |
comparisons with corresponding vector
Definition at line 309 of file SharedObjectsContainer.h.
|
inline |
equal content with other container ?
Definition at line 300 of file SharedObjectsContainer.h.
|
inline |
equal content with corresponding vector ?
Definition at line 303 of file SharedObjectsContainer.h.
|
inline |
|
inline |
index access (const-version)
Definition at line 265 of file SharedObjectsContainer.h.
|
inline |
insert one object into the container
| object | object to be added |
Definition at line 128 of file SharedObjectsContainer.h.
|
inline |
Definition at line 281 of file SharedObjectsContainer.h.
|
inline |
Definition at line 283 of file SharedObjectsContainer.h.
|
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 351 of file SharedObjectsContainer.h.
|
inline |
Definition at line 282 of file SharedObjectsContainer.h.
|
inline |
Definition at line 284 of file SharedObjectsContainer.h.
|
inline |
get the actual size of the container
Definition at line 122 of file SharedObjectsContainer.h.
|
private |
Definition at line 363 of file SharedObjectsContainer.h.