| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Private Attributes | List of all members
Gaudi::Property< TYPE, VERIFIER, HANDLERS > Class Template Reference

Implementation of property with value of concrete type. More...

`#include <GaudiKernel/Property.h>`

Inheritance diagram for Gaudi::Property< TYPE, VERIFIER, HANDLERS >:
[legend]
Collaboration diagram for Gaudi::Property< TYPE, VERIFIER, HANDLERS >:
[legend]

## Public Types
using | StorageType = TYPE
| Hosted type. More...
using | ValueType = typename std::remove_reference< StorageType >::type
using | VerifierType = VERIFIER
using | HandlersType = HANDLERS

## Public Member Functions
template<class T = ValueType>
| Property (std::string name, T &&value, std::string doc="")
| the constructor with property name, value and documentation. More...
template<class OWNER , class T = ValueType, typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type, typename = typename std::enable_if<std::is_default_constructible<T>::value>::type>
| Property (OWNER *owner, std::string name)
| Autodeclaring constructor with property name, value and documentation. More...
template<class OWNER , class T = ValueType, typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type>
| Property (OWNER *owner, std::string name, T &&value, std::string doc="")
| Autodeclaring constructor with property name, value and documentation. More...
template<class T = ValueType, typename = typename not_copying<T>::type>
| Property (T &&v)
| Construct an anonymous property from a value. More...
template<typename T = StorageType, typename = typename std::enable_if<!std::is_reference<T>::value>::type>
| Property ()
| Construct an anonymous property with default constructed value. More...
Details::PropertyBase & | declareReadHandler (std::function< void(Details::PropertyBase &)> fun) override
| set new callback for reading More...
Details::PropertyBase & | declareUpdateHandler (std::function< void(Details::PropertyBase &)> fun) override
| set new callback for update More...
const std::function< void(Details::PropertyBase &)> | readCallBack () const override
| get a reference to the readCallBack More...
const std::function< void(Details::PropertyBase &)> | updateCallBack () const override
| get a reference to the updateCallBack More...
bool | useUpdateHandler () override
| manual trigger for callback for update More...
| operator const ValueType & () const
| Automatic conversion to value (const reference). More...
template<class T >
bool | operator== (const T &other) const
| equality comparison More...
template<class T >
bool | operator!= (const T &other) const
| inequality comparison More...
template<class T >
bool | operator< (const T &other) const
| "less" comparison More...
template<class T = ValueType>
Property & | operator= (T &&v)
| Assignment from value. More...
const VerifierType & | verifier () const
| Accessor to verifier. More...
VerifierType & | verifier ()
| Accessor to verifier. More...
bool | assign (const Details::PropertyBase &source) override
| get the value from another property More...
bool | load (Details::PropertyBase &dest) const override
| set value to another property More...
StatusCode | fromString (const std::string &source) override
| string -> value More...
std::string | toString () const override
| value -> string More...
void | toStream (std::ostream &out) const override
| value -> stream More...
const ValueType & | value () const
| Backward compatibility (. More...
ValueType & | value ()
bool | setValue (const ValueType &v)
bool | set (const ValueType &v)
Details::PropertyBase * | clone () const override
| clones the current property More...
Helpers for easy use of string and vector properties.
They are instantiated only if they are implemented in the wrapped class.
template<class = ValueType>
Property & | operator++ ()
template<class = ValueType>
ValueType | operator++ (int)
template<class = ValueType>
Property & | operator-- ()
template<class = ValueType>
ValueType | operator-- (int)
template<class T = ValueType>
Property & | operator+= (const T &other)
template<class T = ValueType>
Property & | operator-= (const T &other)
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...
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 Types
template<class T >
using | is_this_type = std::is_same< Property, typename std::remove_reference< T >::type >
| helper typedefs for SFINAE More...
template<class T >
using | not_copying = std::enable_if<!is_this_type< T >::value >

## Private Attributes
StorageType | m_value
| Storage. More...
VerifierType | m_verifier
HandlersType | m_handlers

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

### template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
class Gaudi::Property< TYPE, VERIFIER, HANDLERS >

Implementation of property with value of concrete type.

Author
  Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u

Date
  2006-02-27

Author
  Marco Clemencic

Date
  2016-06-16

Definition at line 314 of file Property.h.

## Member Typedef Documentation

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::HandlersType = HANDLERS

Definition at line 322 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T >

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::is_this_type = std::is_same<Property, typename std::remove_reference<T>::type>
| private

helper typedefs for SFINAE

Definition at line 332 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T >

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::not_copying = std::enable_if<!is_this_type<T>::value>
| private

Definition at line 334 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::StorageType = TYPE

Hosted type.

Definition at line 319 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::ValueType = typename std::remove_reference<StorageType>::type

Definition at line 320 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

using Gaudi::Property< TYPE, VERIFIER, HANDLERS >::VerifierType = VERIFIER

Definition at line 321 of file Property.h.

## Constructor & Destructor Documentation

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T = ValueType>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::Property | ( | std::string | name,
|  | T && | value,
|  | std::string | doc = `""`
| ) |  |
| inline

the constructor with property name, value and documentation.

Definition at line 340 of file Property.h.

341 : Details::PropertyBase( typeid( ValueType ), std::move( name ), std::move( doc ) )
342 , m_value( std::forward<T>( value ) )
343 {
344 m_verifier( m_value );
345 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:320
std::move
T move(T...args)
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:475
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:327
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class OWNER , class T = ValueType, typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type, typename = typename std::enable_if<std::is_default_constructible<T>::value>::type>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::Property | ( | OWNER * | owner,
|  | std::string | name
| ) |  |
| inline

Autodeclaring constructor with property name, value and documentation.

Note
  the use std::enable_if is required to avoid ambiguities

Definition at line 351 of file Property.h.

352 : Property( std::move( name ), ValueType{}, "" )
353 {
354 owner->declareProperty( *this );
355 setOwnerType<OWNER>();
356 }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:380
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:320
std::move
T move(T...args)
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class OWNER , class T = ValueType, typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::Property | ( | OWNER * | owner,
|  | std::string | name,
|  | T && | value,
|  | std::string | doc = `""`
| ) |  |
| inline

Autodeclaring constructor with property name, value and documentation.

Note
  the use std::enable_if is required to avoid ambiguities

Definition at line 362 of file Property.h.

363 : Property( std::move( name ), std::forward<T>( value ), std::move( doc ) )
364 {
365 owner->declareProperty( *this );
366 setOwnerType<OWNER>();
367 }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:380
std::move
T move(T...args)
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:475
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T = ValueType, typename = typename not_copying<T>::type>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::Property | ( | T && | v | ) |
| inline

Construct an anonymous property from a value.

This constructor is not generated if T is the current type, so that the compiler picks up the copy constructor instead of this one.

Definition at line 373 of file Property.h.

373 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value( std::forward<T>( v ) )
374 {
375 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:320
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<typename T = StorageType, typename = typename std::enable_if<!std::is_reference<T>::value>::type>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::Property | ( |  | ) |
| inline

Construct an anonymous property with default constructed value.

Can be used only if StorageType is default constructible.

Definition at line 380 of file Property.h.

380 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value()
381 {
382 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:320

## Member Function Documentation

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::assign | ( | const Details::PropertyBase & | source | ) |
| inline override virtual

get the value from another property

Implements Gaudi::Details::PropertyBase.

Definition at line 596 of file Property.h.

597 {
598 // Check if the property of is of "the same" type, except for strings
599 const Property* p =
600 ( std::is_same<ValueType, std::string>::value ) ? nullptr : dynamic_cast<const Property*>( &source );
601 if ( p ) {
602 *this = p->value();
603 } else {
604 this->fromString( source.toString() ).ignore();
605 }
606 return true;
607 }
std::is_same
Property
Gaudi::Details::PropertyBase Property
backward compatibility hack for old Property base class
Definition: PropertyFwd.h:28
Gaudi::Property::fromString
StatusCode fromString(const std::string &source) override
string -> value
Definition: Property.h:615
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

Details::PropertyBase* Gaudi::Property< TYPE, VERIFIER, HANDLERS >::clone | ( |  | ) | const
| inline override virtual

clones the current property

Implements Gaudi::Details::PropertyBase.

Definition at line 487 of file Property.h.

487 { return new Property( *this ); }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:380
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

Details::PropertyBase& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::declareReadHandler | ( | std::function< void(Details::PropertyBase &)> | fun | ) |
| inline override virtual

set new callback for reading

Implements Gaudi::Details::PropertyBase.

Definition at line 388 of file Property.h.

389 {
390 m_handlers.setReadHandler( std::move( fun ) );
391 return *this;
392 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
std::move
T move(T...args)
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

Details::PropertyBase& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::declareUpdateHandler | ( | std::function< void(Details::PropertyBase &)> | fun | ) |
| inline override virtual

set new callback for update

Implements Gaudi::Details::PropertyBase.

Definition at line 394 of file Property.h.

395 {
396 m_handlers.setUpdateHandler( std::move( fun ) );
397 return *this;
398 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
std::move
T move(T...args)
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

StatusCode Gaudi::Property< TYPE, VERIFIER, HANDLERS >::fromString | ( | const std::string & | source | ) |
| inline override virtual

string -> value

Implements Gaudi::Details::PropertyBase.

Definition at line 615 of file Property.h.

616 {
617 using Converter = Details::Property::StringConverter<ValueType>;
618 *this = Converter().fromString( source );
619 return StatusCode::SUCCESS;
620 }
StatusCode::SUCCESS
Definition: StatusCode.h:30
Converter
Converter base class.
Definition: Converter.h:24
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::load | ( | Details::PropertyBase & | dest | ) | const
| inline override virtual

set value to another property

Implements Gaudi::Details::PropertyBase.

Definition at line 609 of file Property.h.

610 {
611 // delegate to the 'opposite' method
612 return dest.assign( *this );
613 }
gaudirun.dest
dest
Definition: gaudirun.py:162
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator const ValueType & | ( |  | ) | const
| inline

Automatic conversion to value (const reference).

Definition at line 419 of file Property.h.

420 {
421 m_handlers.useReadHandler( *this );
422 return m_value;
423 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T >

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator!= | ( | const T & | other | ) | const
| inline

inequality comparison

Definition at line 439 of file Property.h.

440 {
441 return m_value != other;
442 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class = ValueType>

Property& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator++ | ( |  | ) |
| inline

Definition at line 559 of file Property.h.

560 {
561 ++value();
562 return *this;
563 }
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:475
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class = ValueType>

ValueType Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator++ | ( | int |  | ) |
| inline

Definition at line 565 of file Property.h.

566 {
567 return m_value++;
568 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T = ValueType>

Property& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator+= | ( | const T & | other | ) |
| inline

Definition at line 581 of file Property.h.

582 {
583 m_value += other;
584 return *this;
585 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class = ValueType>

Property& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator-- | ( |  | ) |
| inline

Definition at line 570 of file Property.h.

571 {
572 --value();
573 return *this;
574 }
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:475
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class = ValueType>

ValueType Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator-- | ( | int |  | ) |
| inline

Definition at line 576 of file Property.h.

577 {
578 return m_value--;
579 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T = ValueType>

Property& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator-= | ( | const T & | other | ) |
| inline

Definition at line 587 of file Property.h.

588 {
589 m_value -= other;
590 return *this;
591 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T >

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator< | ( | const T & | other | ) | const
| inline

"less" comparison

Definition at line 446 of file Property.h.

447 {
448 return m_value < other;
449 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T = ValueType>

Property& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator= | ( | T && | v | ) |
| inline

Assignment from value.

Definition at line 460 of file Property.h.

461 {
462 m_verifier( v );
463 m_value = std::forward<T>( v );
464 m_handlers.useUpdateHandler( *this );
465 return *this;
466 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:327
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T >

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::operator== | ( | const T & | other | ) | const
| inline

equality comparison

Definition at line 432 of file Property.h.

433 {
434 return m_value == other;
435 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

const std::function<void( Details::PropertyBase& )> Gaudi::Property< TYPE, VERIFIER, HANDLERS >::readCallBack | ( |  | ) | const
| inline override virtual

get a reference to the readCallBack

Implements Gaudi::Details::PropertyBase.

Definition at line 401 of file Property.h.

402 {
403 return m_handlers.getReadHandler();
404 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::set | ( | const ValueType & | v | ) |
| inline

Definition at line 482 of file Property.h.

483 {
484 *this = v;
485 return true;
486 }
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::setValue | ( | const ValueType & | v | ) |
| inline

Definition at line 477 of file Property.h.

478 {
479 *this = v;
480 return true;
481 }
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

void Gaudi::Property< TYPE, VERIFIER, HANDLERS >::toStream | ( | std::ostream & | out | ) | const
| inline override virtual

value -> stream

Implements Gaudi::Details::PropertyBase.

Definition at line 628 of file Property.h.

629 {
630 m_handlers.useReadHandler( *this );
631 using Utils::toStream;
632 toStream( m_value, out );
633 }
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:315
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:326
Gaudi::Property::toStream
void toStream(std::ostream &out) const override
value -> stream
Definition: Property.h:628
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

std::string Gaudi::Property< TYPE, VERIFIER, HANDLERS >::toString | ( |  | ) | const
| inline override virtual

value -> string

Implements Gaudi::Details::PropertyBase.

Definition at line 622 of file Property.h.

623 {
624 using Converter = Details::Property::StringConverter<ValueType>;
625 return Converter().toString( *this );
626 }
Converter
Converter base class.
Definition: Converter.h:24
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

const std::function<void( Details::PropertyBase& )> Gaudi::Property< TYPE, VERIFIER, HANDLERS >::updateCallBack | ( |  | ) | const
| inline override virtual

get a reference to the updateCallBack

Implements Gaudi::Details::PropertyBase.

Definition at line 406 of file Property.h.

407 {
408 return m_handlers.getUpdateHandler();
409 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

bool Gaudi::Property< TYPE, VERIFIER, HANDLERS >::useUpdateHandler | ( |  | ) |
| inline override virtual

manual trigger for callback for update

Implements Gaudi::Details::PropertyBase.

Definition at line 412 of file Property.h.

413 {
414 m_handlers.useUpdateHandler( *this );
415 return true;
416 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:328
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

const ValueType& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::value | ( |  | ) | const
| inline

Backward compatibility (.

Deprecated:
  will be removed)

Definition at line 475 of file Property.h.

475 { return *this; }
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

ValueType& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::value | ( |  | ) |
| inline

Definition at line 476 of file Property.h.

476 { return const_cast<ValueType&>( (const ValueType&)*this ); }
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:320
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

const VerifierType& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::verifier | ( |  | ) | const
| inline

Accessor to verifier.

Definition at line 469 of file Property.h.

469 { return m_verifier; }
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:327
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

VerifierType& Gaudi::Property< TYPE, VERIFIER, HANDLERS >::verifier | ( |  | ) |
| inline

Accessor to verifier.

Definition at line 471 of file Property.h.

471 { return m_verifier; }
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:327

## Member Data Documentation

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

HandlersType Gaudi::Property< TYPE, VERIFIER, HANDLERS >::m_handlers
| private

Definition at line 328 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

StorageType Gaudi::Property< TYPE, VERIFIER, HANDLERS >::m_value
| private

Storage.

Definition at line 326 of file Property.h.

template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>

VerifierType Gaudi::Property< TYPE, VERIFIER, HANDLERS >::m_verifier
| private

Definition at line 327 of file Property.h.

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

- GaudiKernel/GaudiKernel/Property.h