| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Private Attributes | List of all members
GaudiHandleArrayProperty Class Reference

`#include <GaudiKernel/Property.h>`

Inheritance diagram for GaudiHandleArrayProperty:
[legend]
Collaboration diagram for GaudiHandleArrayProperty:
[legend]

## Public Member Functions
| GaudiHandleArrayProperty (std::string name, GaudiHandleArrayBase &ref)
GaudiHandleArrayProperty & | operator= (const GaudiHandleArrayBase &value)
GaudiHandleArrayProperty * | clone () const override
| clones the current property More...
bool | load (PropertyBase &destination) const override
bool | assign (const PropertyBase &source) override
std::string | toString () const override
| value -> string More...
void | toStream (std::ostream &out) const override
| value -> stream More...
StatusCode | fromString (const std::string &s) override
| string -> value More...
const GaudiHandleArrayBase & | value () const
bool | setValue (const GaudiHandleArrayBase &value)
Public Member Functions inherited from PropertyWithHandlers<>
PropertyBase & | declareReadHandler (std::function< void(PropertyBase &)> fun) override
| set new callback for reading More...
PropertyBase & | declareUpdateHandler (std::function< void(PropertyBase &)> fun) override
| set new callback for update More...
const std::function< void(PropertyBase &)> | readCallBack () const override
| get a reference to the readCallBack More...
const std::function< void(PropertyBase &)> | updateCallBack () const override
| get a reference to the updateCallBack More...
void | useReadHandler () const
| use the call-back function at reading, if available More...
bool | useUpdateHandler () override
| use the call-back function at update, if available More...
Public Member Functions inherited from Gaudi::Details::PropertyBase
const std::string | name () const
| property name More...
std::string | documentation () const
| property documentation More...
const std::type_info * | type_info () const
| property type-info More...
std::string | type () const
| property type More...
virtual bool | load (PropertyBase &dest) const =0
| export the property value to the destination More...
virtual bool | assign (const PropertyBase &source)=0
| import the property value form the source More...
virtual PropertyBase & | declareReadHandler (std::function< void(PropertyBase &)> fun)=0
| set new callback for reading More...
virtual PropertyBase & | declareUpdateHandler (std::function< void(PropertyBase &)> fun)=0
| set new callback for update More...
template<class HT >
PropertyBase & | declareReadHandler (void(HT::*MF)(PropertyBase &), HT *instance)
template<class HT >
PropertyBase & | declareUpdateHandler (void(HT::*MF)(PropertyBase &), HT *instance)
virtual | ~PropertyBase ()=default
| virtual destructor More...
void | setName (std::string value)
| set the new value for the property name More...
void | setDocumentation (std::string value)
| set the documentation string More...
virtual std::ostream & | fillStream (std::ostream &) const
| the printout of the property value More...
void | setOwnerType (const std::type_info &ownerType)
| set the type of the owner class (used for documentation) More...
template<class OWNER >
void | setOwnerType ()
| set the type of the owner class (used for documentation) More...
const std::type_info * | ownerType () const
| get the type of the owner class (used for documentation) More...
std::string | ownerTypeName () const
| get the string for the type of the owner class (used for documentation) More...

## Private Attributes
GaudiHandleArrayBase * | m_pValue
| Pointer to the real property. More...

## Additional Inherited Members
Protected Member Functions inherited from Gaudi::Details::PropertyBase
| PropertyBase (const std::type_info &type, std::string name="", std::string doc="")
| constructor from the property name and the type More...
| PropertyBase (std::string name, const std::type_info &type)
| constructor from the property name and the type More...
| PropertyBase (const PropertyBase &)=default
| copy constructor More...
PropertyBase & | operator= (const PropertyBase &)=default
| assignment operator More...

## Detailed Description

Definition at line 882 of file Property.h.

## Constructor & Destructor Documentation

## ◆ GaudiHandleArrayProperty()

GaudiHandleArrayProperty::GaudiHandleArrayProperty | ( | std::string | name,
|  | GaudiHandleArrayBase & | ref
| ) |  |

Definition at line 132 of file Property.cpp.

133 : PropertyWithHandlers( std::move( name_ ), typeid( GaudiHandleArrayBase ) ), m_pValue( &ref ) {
134 m_pValue->setPropertyName( name() );
135 }
Gaudi::Details::PropertyBase::name
const std::string name() const
property name
Definition: Property.h:36
PropertyWithHandlers
Helper class to simplify the migration old properties deriving directly from PropertyBase.
Definition: Property.h:806
compareRootHistos.ref
string ref
Definition: compareRootHistos.py:14
std::move
T move(T... args)
GaudiHandleArrayBase
Base class of array's of various gaudihandles.
Definition: GaudiHandle.h:330
GaudiHandleInfo::setPropertyName
void setPropertyName(std::string propName)
set name as used in declareProperty(name,gaudiHandle).
Definition: GaudiHandle.h:50
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913

## Member Function Documentation

## ◆ assign()

bool GaudiHandleArrayProperty::assign | ( | const PropertyBase & | source | ) |
| inline override

Definition at line 895 of file Property.h.

895 { return fromString( source.toString() ).isSuccess(); }
GaudiHandleArrayProperty::fromString
StatusCode fromString(const std::string &s) override
string -> value
Definition: Property.cpp:154

## ◆ clone()

GaudiHandleArrayProperty* GaudiHandleArrayProperty::clone | ( |  | ) | const
| inline override virtual

clones the current property

Implements Gaudi::Details::PropertyBase.

Definition at line 891 of file Property.h.

891 { return new GaudiHandleArrayProperty( *this ); }
GaudiHandleArrayProperty::GaudiHandleArrayProperty
GaudiHandleArrayProperty(std::string name, GaudiHandleArrayBase &ref)
Definition: Property.cpp:132

## ◆ fromString()

StatusCode GaudiHandleArrayProperty::fromString | ( | const std::string & | value | ) |
| override virtual

string -> value

Implements Gaudi::Details::PropertyBase.

Definition at line 154 of file Property.cpp.

154 {
155 // treat as if a Gaudi::Property<std::vector<std::string>>
156 std::vector<std::string> tmp;
157 StatusCode sc = Gaudi::Parsers::parse( tmp, source );
158 if ( sc.isFailure() ) return sc;
159 if ( !m_pValue->setTypesAndNames( std::move( tmp ) ) ) return StatusCode::FAILURE;
160 useUpdateHandler();
161 return StatusCode::SUCCESS;
162 }
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
Gaudi::Parsers::parse
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
Definition: DODBasicMapper.cpp:11
GaudiHandleArrayBase::setTypesAndNames
bool setTypesAndNames(const std::vector< std::string > &myTypesAndNamesList)
Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.
Definition: GaudiHandle.cpp:53
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
std::move
T move(T... args)
std::vector< std::string >
PropertyWithHandlers<>::useUpdateHandler
bool useUpdateHandler() override
use the call-back function at update, if available
Definition: Property.h:832
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:86
StatusCode::isFailure
bool isFailure() const
Definition: StatusCode.h:130

## ◆ load()

bool GaudiHandleArrayProperty::load | ( | PropertyBase & | destination | ) | const
| inline override

Definition at line 893 of file Property.h.

893 { return destination.assign( *this ); }

## ◆ operator=()

GaudiHandleArrayProperty& GaudiHandleArrayProperty::operator= | ( | const GaudiHandleArrayBase & | value | ) |
| inline

Definition at line 886 of file Property.h.

886 {
887 setValue( value );
888 return *this;
889 }
GaudiHandleArrayProperty::setValue
bool setValue(const GaudiHandleArrayBase &value)
Definition: Property.cpp:137
GaudiHandleArrayProperty::value
const GaudiHandleArrayBase & value() const
Definition: Property.h:903

## ◆ setValue()

bool GaudiHandleArrayProperty::setValue | ( | const GaudiHandleArrayBase & | value | ) |

Definition at line 137 of file Property.cpp.

137 {
138 m_pValue->setTypesAndNames( value.typesAndNames() );
139 return useUpdateHandler();
140 }
GaudiHandleArrayProperty::value
const GaudiHandleArrayBase & value() const
Definition: Property.h:903
GaudiHandleArrayBase::typesAndNames
const std::vector< std::string > typesAndNames() const
Return a vector with "type/name" strings of all handles in the array.
Definition: GaudiHandle.cpp:68
GaudiHandleArrayBase::setTypesAndNames
bool setTypesAndNames(const std::vector< std::string > &myTypesAndNamesList)
Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.
Definition: GaudiHandle.cpp:53
PropertyWithHandlers<>::useUpdateHandler
bool useUpdateHandler() override
use the call-back function at update, if available
Definition: Property.h:832
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913

## ◆ toStream()

void GaudiHandleArrayProperty::toStream | ( | std::ostream & | out | ) | const
| override virtual

value -> stream

Implements Gaudi::Details::PropertyBase.

Definition at line 148 of file Property.cpp.

148 {
149 // treat as if a Gaudi::Property<std::vector<std::string>>
150 useReadHandler();
151 Gaudi::Utils::toStream( m_pValue->typesAndNames(), out );
152 }
Gaudi::Utils::toStream
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
Definition: ToStream.h:284
GaudiHandleArrayBase::typesAndNames
const std::vector< std::string > typesAndNames() const
Return a vector with "type/name" strings of all handles in the array.
Definition: GaudiHandle.cpp:68
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913
PropertyWithHandlers<>::useReadHandler
void useReadHandler() const
use the call-back function at reading, if available
Definition: Property.h:829

## ◆ toString()

std::string GaudiHandleArrayProperty::toString | ( |  | ) | const
| override virtual

value -> string

Implements Gaudi::Details::PropertyBase.

Definition at line 142 of file Property.cpp.

142 {
143 // treat as if a Gaudi::Property<std::vector<std::string>>
144 useReadHandler();
145 return Gaudi::Utils::toString( m_pValue->typesAndNames() );
146 }
GaudiHandleArrayBase::typesAndNames
const std::vector< std::string > typesAndNames() const
Return a vector with "type/name" strings of all handles in the array.
Definition: GaudiHandle.cpp:68
Gaudi::Utils::toString
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
Definition: ToStream.h:334
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913
PropertyWithHandlers<>::useReadHandler
void useReadHandler() const
use the call-back function at reading, if available
Definition: Property.h:829

## ◆ value()

const GaudiHandleArrayBase& GaudiHandleArrayProperty::value | ( |  | ) | const
| inline

Definition at line 903 of file Property.h.

903 {
904 useReadHandler();
905 return *m_pValue;
906 }
GaudiHandleArrayProperty::m_pValue
GaudiHandleArrayBase * m_pValue
Pointer to the real property.
Definition: Property.h:913
PropertyWithHandlers<>::useReadHandler
void useReadHandler() const
use the call-back function at reading, if available
Definition: Property.h:829

## Member Data Documentation

## ◆ m_pValue

GaudiHandleArrayBase* GaudiHandleArrayProperty::m_pValue
| private

Pointer to the real property.

Reference would be better, but ROOT does not support references yet

Definition at line 913 of file Property.h.

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

- GaudiKernel/GaudiKernel/Property.h
- GaudiKernel/src/Lib/Property.cpp