All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GaudiHandleArray< T > Class Template Reference

T is the concrete handle type, e.g. More...

#include </scratch/z5/marcocle/lhcb-release/419/GAUDI/GAUDI_v26r1/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/GaudiHandle.h>

Inheritance diagram for GaudiHandleArray< T >:
Collaboration diagram for GaudiHandleArray< T >:

Public Types

typedef std::vector< T > HandleVector
 
typedef HandleVector::value_type value_type
 
typedef HandleVector::size_type size_type
 
typedef HandleVector::reference reference
 
typedef
HandleVector::const_reference 
const_reference
 
typedef HandleVector::iterator iterator
 
typedef
HandleVector::const_iterator 
const_iterator
 
typedef
HandleVector::reverse_iterator 
reverse_iterator
 
typedef
HandleVector::const_reverse_iterator 
const_reverse_iterator
 
typedef std::vector< T > HandleVector
 
typedef HandleVector::value_type value_type
 
typedef HandleVector::size_type size_type
 
typedef HandleVector::reference reference
 
typedef
HandleVector::const_reference 
const_reference
 
typedef HandleVector::iterator iterator
 
typedef
HandleVector::const_iterator 
const_iterator
 
typedef
HandleVector::reverse_iterator 
reverse_iterator
 
typedef
HandleVector::const_reverse_iterator 
const_reverse_iterator
 
- Public Types inherited from GaudiHandleArrayBase
typedef std::vector
< GaudiHandleBase * > 
BaseHandleArray
 
typedef std::vector< const
GaudiHandleBase * > 
ConstBaseHandleArray
 
typedef std::vector
< GaudiHandleBase * > 
BaseHandleArray
 
typedef std::vector< const
GaudiHandleBase * > 
ConstBaseHandleArray
 

Public Member Functions

virtual ~GaudiHandleArray ()
 
GaudiHandleArrayoperator= (const std::vector< std::string > &myTypesAndNamesList)
 Set the array of GaudiHandles from typeAndNames given in vector of strings.
 
virtual
GaudiHandleArrayBase::BaseHandleArray 
getBaseArray ()
 Get a read-write vector of GaudiHandleBase* pointing to the real handles.
 
virtual
GaudiHandleArrayBase::ConstBaseHandleArray 
getBaseArray () const
 Get a read-only vector of const GaudiHandleBase* pointing to the real handles.
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator rbegin () const
 
const_iterator rend () const
 
size_type size () const
 
virtual void clear ()
 Clear the list of handles.
 
virtual bool empty () const
 Return whether the list of tools is empty.
 
T & operator[] (int index)
 
const T & operator[] (int index) const
 
T * operator[] (const std::string &name)
 Get pointer (!) to ToolHandle by instance name.
 
const T * operator[] (const std::string &name) const
 Get const pointer (!) to ToolHandle by instance name.
 
virtual bool push_back (const T &myHandle)
 
StatusCode retrieve ()
 Retrieve all tools.
 
StatusCode release ()
 Release all tools.
 
virtual ~GaudiHandleArray ()
 
GaudiHandleArrayoperator= (const std::vector< std::string > &myTypesAndNamesList)
 Set the array of GaudiHandles from typeAndNames given in vector of strings.
 
virtual
GaudiHandleArrayBase::BaseHandleArray 
getBaseArray ()
 Get a read-write vector of GaudiHandleBase* pointing to the real handles.
 
virtual
GaudiHandleArrayBase::ConstBaseHandleArray 
getBaseArray () const
 Get a read-only vector of const GaudiHandleBase* pointing to the real handles.
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator rbegin () const
 
const_iterator rend () const
 
size_type size () const
 
virtual void clear ()
 Clear the list of handles.
 
virtual bool empty () const
 Return whether the list of tools is empty.
 
T & operator[] (int index)
 
const T & operator[] (int index) const
 
T * operator[] (const std::string &name)
 Get pointer (!) to ToolHandle by instance name.
 
const T * operator[] (const std::string &name) const
 Get const pointer (!) to ToolHandle by instance name.
 
virtual bool push_back (const T &myHandle)
 
StatusCode retrieve ()
 Retrieve all tools.
 
StatusCode release ()
 Release all tools.
 
- Public Member Functions inherited from GaudiHandleArrayBase
bool setTypesAndNames (const std::vector< std::string > &myTypesAndNamesList)
 Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.
 
const std::vector< std::string > typesAndNames () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::string > types () const
 Return a vector with "type" strings of all handles in the array.
 
const std::vector< std::string > names () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::string > getBaseInfos (std::string(GaudiHandleBase::*pMemFunc)() const ) const
 Helper function to get a vector of strings filled with the return value of each tool of a member function if GaudiHandleBase.
 
virtual const std::string pythonPropertyClassName () const
 Name of the componentType with "HandleArray" appended.
 
virtual const std::string pythonRepr () const
 Python representation of array of handles, i.e.
 
virtual bool push_back (const std::string &myHandleTypeAndName)=0
 Add a handle to the array with "type/name" given in <myHandleTypeAndName>.
 
bool setTypesAndNames (const std::vector< std::string > &myTypesAndNamesList)
 Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.
 
const std::vector< std::string > typesAndNames () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::string > types () const
 Return a vector with "type" strings of all handles in the array.
 
const std::vector< std::string > names () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::string > getBaseInfos (std::string(GaudiHandleBase::*pMemFunc)() const ) const
 Helper function to get a vector of strings filled with the return value of each tool of a member function if GaudiHandleBase.
 
virtual const std::string pythonPropertyClassName () const
 Name of the componentType with "HandleArray" appended.
 
virtual const std::string pythonRepr () const
 Python representation of array of handles, i.e.
 
virtual bool push_back (const std::string &myHandleTypeAndName)=0
 Add a handle to the array with "type/name" given in <myHandleTypeAndName>.
 
- Public Member Functions inherited from GaudiHandleInfo
virtual ~GaudiHandleInfo ()
 virtual destructor so that derived class destructor is called.
 
const std::string & componentType () const
 
const std::string & propertyName () const
 name as used in declareProperty(name,gaudiHandle)
 
void setPropertyName (const std::string &propName)
 set name as used in declareProperty(name,gaudiHandle).
 
const std::string & parentName () const
 The name of the parent.
 
virtual ~GaudiHandleInfo ()
 virtual destructor so that derived class destructor is called.
 
const std::string & componentType () const
 
const std::string & propertyName () const
 name as used in declareProperty(name,gaudiHandle)
 
void setPropertyName (const std::string &propName)
 set name as used in declareProperty(name,gaudiHandle).
 
const std::string & parentName () const
 The name of the parent.
 

Protected Member Functions

 GaudiHandleArray (const std::vector< std::string > &myTypesAndNamesList, const std::string &myComponentType, const std::string &myParentName)
 Generic constructor.
 
 GaudiHandleArray (const std::string &myComponentType, const std::string &myParentName)
 Constructor creating an empty array.
 
 GaudiHandleArray (const std::vector< std::string > &myTypesAndNamesList, const std::string &myComponentType, const std::string &myParentName)
 Generic constructor.
 
 GaudiHandleArray (const std::string &myComponentType, const std::string &myParentName)
 Constructor creating an empty array.
 
- Protected Member Functions inherited from GaudiHandleArrayBase
 GaudiHandleArrayBase (const std::string &myComponentType, const std::string &myParentName)
 
 GaudiHandleArrayBase (const std::string &myComponentType, const std::string &myParentName)
 
- Protected Member Functions inherited from GaudiHandleInfo
 GaudiHandleInfo (const std::string &myComponentType, const std::string &myParentName)
 Some basic information and helper functions shared between various handles/arrays.
 
 GaudiHandleInfo (const std::string &myComponentType, const std::string &myParentName)
 Some basic information and helper functions shared between various handles/arrays.
 

Private Attributes

HandleVector m_handleArray
 

Detailed Description

template<class T>
class GaudiHandleArray< T >

T is the concrete handle type, e.g.

ToolHandle<IMyTool>

Definition at line 353 of file GaudiHandle.h.

Member Typedef Documentation

template<class T>
typedef HandleVector::const_iterator GaudiHandleArray< T >::const_iterator

Definition at line 364 of file GaudiHandle.h.

template<class T>
typedef HandleVector::const_iterator GaudiHandleArray< T >::const_iterator

Definition at line 364 of file GaudiHandle.h.

template<class T>
typedef HandleVector::const_reference GaudiHandleArray< T >::const_reference

Definition at line 362 of file GaudiHandle.h.

template<class T>
typedef HandleVector::const_reference GaudiHandleArray< T >::const_reference

Definition at line 362 of file GaudiHandle.h.

template<class T>
typedef HandleVector::const_reverse_iterator GaudiHandleArray< T >::const_reverse_iterator

Definition at line 366 of file GaudiHandle.h.

template<class T>
typedef HandleVector::const_reverse_iterator GaudiHandleArray< T >::const_reverse_iterator

Definition at line 366 of file GaudiHandle.h.

template<class T>
typedef std::vector< T > GaudiHandleArray< T >::HandleVector

Definition at line 358 of file GaudiHandle.h.

template<class T>
typedef std::vector< T > GaudiHandleArray< T >::HandleVector

Definition at line 358 of file GaudiHandle.h.

template<class T>
typedef HandleVector::iterator GaudiHandleArray< T >::iterator

Definition at line 363 of file GaudiHandle.h.

template<class T>
typedef HandleVector::iterator GaudiHandleArray< T >::iterator

Definition at line 363 of file GaudiHandle.h.

template<class T>
typedef HandleVector::reference GaudiHandleArray< T >::reference

Definition at line 361 of file GaudiHandle.h.

template<class T>
typedef HandleVector::reference GaudiHandleArray< T >::reference

Definition at line 361 of file GaudiHandle.h.

template<class T>
typedef HandleVector::reverse_iterator GaudiHandleArray< T >::reverse_iterator

Definition at line 365 of file GaudiHandle.h.

template<class T>
typedef HandleVector::reverse_iterator GaudiHandleArray< T >::reverse_iterator

Definition at line 365 of file GaudiHandle.h.

template<class T>
typedef HandleVector::size_type GaudiHandleArray< T >::size_type

Definition at line 360 of file GaudiHandle.h.

template<class T>
typedef HandleVector::size_type GaudiHandleArray< T >::size_type

Definition at line 360 of file GaudiHandle.h.

template<class T>
typedef HandleVector::value_type GaudiHandleArray< T >::value_type

Definition at line 359 of file GaudiHandle.h.

template<class T>
typedef HandleVector::value_type GaudiHandleArray< T >::value_type

Definition at line 359 of file GaudiHandle.h.

Constructor & Destructor Documentation

template<class T>
GaudiHandleArray< T >::GaudiHandleArray ( const std::vector< std::string > &  myTypesAndNamesList,
const std::string &  myComponentType,
const std::string &  myParentName 
)
inlineprotected

Generic constructor.

Probably not very useful...

Parameters
typesAndNamesList: a vector of strings with the concrete "type/name" strings for the list of tools

Definition at line 376 of file GaudiHandle.h.

: GaudiHandleArrayBase(myComponentType,myParentName)
{
setTypesAndNames( myTypesAndNamesList );
}
template<class T>
GaudiHandleArray< T >::GaudiHandleArray ( const std::string &  myComponentType,
const std::string &  myParentName 
)
inlineprotected

Constructor creating an empty array.

Parameters
typesAndNamesList: a vector of strings with the concrete "type/name" strings for the list of tools

Definition at line 387 of file GaudiHandle.h.

: GaudiHandleArrayBase(myComponentType,myParentName)
{}
template<class T>
virtual GaudiHandleArray< T >::~GaudiHandleArray ( )
inlinevirtual

Definition at line 392 of file GaudiHandle.h.

{};
template<class T>
GaudiHandleArray< T >::GaudiHandleArray ( const std::vector< std::string > &  myTypesAndNamesList,
const std::string &  myComponentType,
const std::string &  myParentName 
)
inlineprotected

Generic constructor.

Probably not very useful...

Parameters
typesAndNamesList: a vector of strings with the concrete "type/name" strings for the list of tools

Definition at line 376 of file GaudiHandle.h.

: GaudiHandleArrayBase(myComponentType,myParentName)
{
setTypesAndNames( myTypesAndNamesList );
}
template<class T>
GaudiHandleArray< T >::GaudiHandleArray ( const std::string &  myComponentType,
const std::string &  myParentName 
)
inlineprotected

Constructor creating an empty array.

Parameters
typesAndNamesList: a vector of strings with the concrete "type/name" strings for the list of tools

Definition at line 387 of file GaudiHandle.h.

: GaudiHandleArrayBase(myComponentType,myParentName)
{}
template<class T>
virtual GaudiHandleArray< T >::~GaudiHandleArray ( )
inlinevirtual

Definition at line 392 of file GaudiHandle.h.

{};

Member Function Documentation

template<class T>
iterator GaudiHandleArray< T >::begin ( )
inline

Definition at line 417 of file GaudiHandle.h.

{
return m_handleArray.begin();
}
template<class T>
iterator GaudiHandleArray< T >::begin ( )
inline

Definition at line 417 of file GaudiHandle.h.

{
return m_handleArray.begin();
}
template<class T>
const_iterator GaudiHandleArray< T >::begin ( ) const
inline

Definition at line 425 of file GaudiHandle.h.

{
return m_handleArray.begin();
}
template<class T>
const_iterator GaudiHandleArray< T >::begin ( ) const
inline

Definition at line 425 of file GaudiHandle.h.

{
return m_handleArray.begin();
}
template<class T>
virtual void GaudiHandleArray< T >::clear ( )
inlinevirtual

Clear the list of handles.

Implemented in GaudiHandleArray

Implements GaudiHandleArrayBase.

Definition at line 445 of file GaudiHandle.h.

{
m_handleArray.clear();
}
template<class T>
virtual void GaudiHandleArray< T >::clear ( )
inlinevirtual

Clear the list of handles.

Implemented in GaudiHandleArray

Implements GaudiHandleArrayBase.

Definition at line 445 of file GaudiHandle.h.

{
m_handleArray.clear();
}
template<class T>
virtual bool GaudiHandleArray< T >::empty ( ) const
inlinevirtual

Return whether the list of tools is empty.

Implements GaudiHandleArrayBase.

Definition at line 449 of file GaudiHandle.h.

{
return m_handleArray.empty();
}
template<class T>
virtual bool GaudiHandleArray< T >::empty ( ) const
inlinevirtual

Return whether the list of tools is empty.

Implements GaudiHandleArrayBase.

Definition at line 449 of file GaudiHandle.h.

{
return m_handleArray.empty();
}
template<class T>
iterator GaudiHandleArray< T >::end ( )
inline

Definition at line 421 of file GaudiHandle.h.

{
return m_handleArray.end();
}
template<class T>
iterator GaudiHandleArray< T >::end ( )
inline

Definition at line 421 of file GaudiHandle.h.

{
return m_handleArray.end();
}
template<class T>
const_iterator GaudiHandleArray< T >::end ( ) const
inline

Definition at line 429 of file GaudiHandle.h.

{
return m_handleArray.end();
}
template<class T>
const_iterator GaudiHandleArray< T >::end ( ) const
inline

Definition at line 429 of file GaudiHandle.h.

{
return m_handleArray.end();
}
template<class T>
virtual GaudiHandleArrayBase::BaseHandleArray GaudiHandleArray< T >::getBaseArray ( )
inlinevirtual

Get a read-write vector of GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implements GaudiHandleArrayBase.

Definition at line 400 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) baseArray.push_back( &*it );
return baseArray;
}
template<class T>
virtual GaudiHandleArrayBase::BaseHandleArray GaudiHandleArray< T >::getBaseArray ( )
inlinevirtual

Get a read-write vector of GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implements GaudiHandleArrayBase.

Definition at line 400 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) baseArray.push_back( &*it );
return baseArray;
}
template<class T>
virtual GaudiHandleArrayBase::ConstBaseHandleArray GaudiHandleArray< T >::getBaseArray ( ) const
inlinevirtual

Get a read-only vector of const GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implements GaudiHandleArrayBase.

Definition at line 407 of file GaudiHandle.h.

{
const_iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) baseArray.push_back( &*it );
return baseArray;
}
template<class T>
virtual GaudiHandleArrayBase::ConstBaseHandleArray GaudiHandleArray< T >::getBaseArray ( ) const
inlinevirtual

Get a read-only vector of const GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implements GaudiHandleArrayBase.

Definition at line 407 of file GaudiHandle.h.

{
const_iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) baseArray.push_back( &*it );
return baseArray;
}
template<class T>
GaudiHandleArray& GaudiHandleArray< T >::operator= ( const std::vector< std::string > &  myTypesAndNamesList)
inline

Set the array of GaudiHandles from typeAndNames given in vector of strings.

Definition at line 395 of file GaudiHandle.h.

{
setTypesAndNames( myTypesAndNamesList );
return *this;
}
template<class T>
GaudiHandleArray& GaudiHandleArray< T >::operator= ( const std::vector< std::string > &  myTypesAndNamesList)
inline

Set the array of GaudiHandles from typeAndNames given in vector of strings.

Definition at line 395 of file GaudiHandle.h.

{
setTypesAndNames( myTypesAndNamesList );
return *this;
}
template<class T>
T& GaudiHandleArray< T >::operator[] ( int  index)
inline

Definition at line 453 of file GaudiHandle.h.

{
return m_handleArray[index];
}
template<class T>
T& GaudiHandleArray< T >::operator[] ( int  index)
inline

Definition at line 453 of file GaudiHandle.h.

{
return m_handleArray[index];
}
template<class T>
const T& GaudiHandleArray< T >::operator[] ( int  index) const
inline

Definition at line 457 of file GaudiHandle.h.

{
return m_handleArray[index];
}
template<class T>
const T& GaudiHandleArray< T >::operator[] ( int  index) const
inline

Definition at line 457 of file GaudiHandle.h.

{
return m_handleArray[index];
}
template<class T>
T* GaudiHandleArray< T >::operator[] ( const std::string &  name)
inline

Get pointer (!) to ToolHandle by instance name.

Returns zero pointer if not found

Definition at line 462 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->name() == name ) return &*it;
}
// not found
return 0;
}
template<class T>
T* GaudiHandleArray< T >::operator[] ( const std::string &  name)
inline

Get pointer (!) to ToolHandle by instance name.

Returns zero pointer if not found

Definition at line 462 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->name() == name ) return &*it;
}
// not found
return 0;
}
template<class T>
const T* GaudiHandleArray< T >::operator[] ( const std::string &  name) const
inline

Get const pointer (!) to ToolHandle by instance name.

Returns zero pointer if not found

Definition at line 472 of file GaudiHandle.h.

{
const_iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->name() == name ) return &*it;
}
// not found
return 0;
}
template<class T>
const T* GaudiHandleArray< T >::operator[] ( const std::string &  name) const
inline

Get const pointer (!) to ToolHandle by instance name.

Returns zero pointer if not found

Definition at line 472 of file GaudiHandle.h.

{
const_iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->name() == name ) return &*it;
}
// not found
return 0;
}
template<class T>
virtual bool GaudiHandleArray< T >::push_back ( const T &  myHandle)
inlinevirtual

Reimplemented in ToolHandleArray< T >, ToolHandleArray< T >, ServiceHandleArray< T >, and ServiceHandleArray< T >.

Definition at line 484 of file GaudiHandle.h.

{
m_handleArray.push_back( myHandle );
return true;
}
template<class T>
virtual bool GaudiHandleArray< T >::push_back ( const T &  myHandle)
inlinevirtual

Reimplemented in ToolHandleArray< T >, ToolHandleArray< T >, ServiceHandleArray< T >, and ServiceHandleArray< T >.

Definition at line 484 of file GaudiHandle.h.

{
m_handleArray.push_back( myHandle );
return true;
}
template<class T>
const_iterator GaudiHandleArray< T >::rbegin ( ) const
inline

Definition at line 433 of file GaudiHandle.h.

{
return m_handleArray.rbegin();
}
template<class T>
const_iterator GaudiHandleArray< T >::rbegin ( ) const
inline

Definition at line 433 of file GaudiHandle.h.

{
return m_handleArray.rbegin();
}
template<class T>
StatusCode GaudiHandleArray< T >::release ( )
inline

Release all tools.

Definition at line 502 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->release().isFailure() ) {
// continue trying to release other tools
}
}
return sc;
}
template<class T>
StatusCode GaudiHandleArray< T >::release ( )
inline

Release all tools.

Definition at line 502 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->release().isFailure() ) {
// continue trying to release other tools
}
}
return sc;
}
template<class T>
const_iterator GaudiHandleArray< T >::rend ( ) const
inline

Definition at line 437 of file GaudiHandle.h.

{
return m_handleArray.rend();
}
template<class T>
const_iterator GaudiHandleArray< T >::rend ( ) const
inline

Definition at line 437 of file GaudiHandle.h.

{
return m_handleArray.rend();
}
template<class T>
StatusCode GaudiHandleArray< T >::retrieve ( )
inline

Retrieve all tools.

Definition at line 490 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->retrieve().isFailure() ) {
// stop at first failure
}
}
}
template<class T>
StatusCode GaudiHandleArray< T >::retrieve ( )
inline

Retrieve all tools.

Definition at line 490 of file GaudiHandle.h.

{
iterator it = begin(), itEnd = end();
for ( ; it != itEnd; ++it ) {
if ( it->retrieve().isFailure() ) {
// stop at first failure
}
}
}
template<class T>
size_type GaudiHandleArray< T >::size ( ) const
inline

Definition at line 441 of file GaudiHandle.h.

{
return m_handleArray.size();
}
template<class T>
size_type GaudiHandleArray< T >::size ( ) const
inline

Definition at line 441 of file GaudiHandle.h.

{
return m_handleArray.size();
}

Member Data Documentation

template<class T>
HandleVector GaudiHandleArray< T >::m_handleArray
private

Definition at line 518 of file GaudiHandle.h.


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