Gaudi Framework, version v23r5

Home   Generated: Wed Nov 28 2012
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
GaudiHandleArray< T > Class Template Reference

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

#include <GaudiHandle.h>

Inheritance diagram for GaudiHandleArray< T >:
Inheritance graph
[legend]
Collaboration diagram for GaudiHandleArray< T >:
Collaboration graph
[legend]

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
 
- Public Types inherited from GaudiHandleArrayBase
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.
 
- 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::stringtypesAndNames () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::stringtypes () const
 Return a vector with "type" strings of all handles in the array.
 
const std::vector< std::stringnames () const
 Return a vector with "type/name" strings of all handles in the array.
 
const std::vector< std::stringgetBaseInfos (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::stringcomponentType () const
 
const std::stringpropertyName () const
 name as used in declareProperty(name,gaudiHandle)
 
void setPropertyName (const std::string &propName)
 set name as used in declareProperty(name,gaudiHandle).
 
const std::stringparentName () 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.
 
- Protected Member Functions inherited from GaudiHandleArrayBase
 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.
 

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

Definition at line 364 of file GaudiHandle.h.

Definition at line 362 of file GaudiHandle.h.

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 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.

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::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.

{};

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>
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.

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>
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::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>
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>
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>
virtual bool GaudiHandleArray< T >::push_back ( const T &  myHandle)
inlinevirtual

Reimplemented in ToolHandleArray< 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.

{
}
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>
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();
}

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 file:

Generated at Wed Nov 28 2012 12:17:27 for Gaudi Framework, version v23r5 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004