| The Gaudi Framework v30r0 (c919700c)

- 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 = StorageType>
| Property (std::string name, T &&value, std::string doc="")
| the constructor with property name, value and documentation. More...
template<typename OWNER , typename T = ValueType, typename = std::enable_if_t<std::is_base_of<IProperty, OWNER>::value>, typename = std::enable_if_t<std::is_default_constructible<T>::value>>
| Property (OWNER *owner, std::string name)
| Autodeclaring constructor with property name, value and documentation. More...
template<class OWNER , class T = StorageType, typename = std::enable_if_t<std::is_base_of<IProperty, OWNER>::value>>
| Property (OWNER *owner, std::string name, T &&value, std::string doc="")
| Autodeclaring constructor with property name, value and documentation. More...
template<typename T , typename = not_copying<T>>
| Property (T &&v)
| Construct an anonymous property from a value. More...
template<typename T = StorageType, typename = std::enable_if_t<!std::is_reference<T>::value>>
| 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, std::remove_reference_t< T >>
| helper typedefs for SFINAE More...
template<class T >
using | not_copying = std::enable_if_t<!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 319 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 327 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, std::remove_reference_t<T>>
| private

helper typedefs for SFINAE

Definition at line 337 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_t<!is_this_type<T>::value>
| private

Definition at line 339 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 324 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 325 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 326 of file Property.h.

## Constructor & Destructor Documentation

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

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 345 of file Property.h.

346 : Details::PropertyBase( typeid( ValueType ), std::move( name ), std::move( doc ) )
347 , m_value( std::forward<T>( value ) )
348 {
349 m_verifier( m_value );
350 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:325
std::move
T move(T...args)
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:478
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:332
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<typename OWNER , typename T = ValueType, typename = std::enable_if_t<std::is_base_of<IProperty, OWNER>::value>, typename = std::enable_if_t<std::is_default_constructible<T>::value>>

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 356 of file Property.h.

356 : Property( std::move( name ), ValueType{}, "" )
357 {
358 owner->declareProperty( *this );
359 setOwnerType<OWNER>();
360 }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:383
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:325
std::move
T move(T...args)
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class OWNER , class T = StorageType, typename = std::enable_if_t<std::is_base_of<IProperty, OWNER>::value>>

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 365 of file Property.h.

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

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 376 of file Property.h.

376 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value( std::forward<T>( v ) )
377 {
378 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:325
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<typename T = StorageType, typename = std::enable_if_t<!std::is_reference<T>::value>>

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 383 of file Property.h.

383 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value()
384 {
385 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:325

## 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 630 of file Property.h.

631 {
632 // Check if the property of is of "the same" type, except for strings
633 const Property* p =
634 ( std::is_same<ValueType, std::string>::value ) ? nullptr : dynamic_cast<const Property*>( &source );
635 if ( p ) {
636 *this = p->value();
637 } else {
638 this->fromString( source.toString() ).ignore();
639 }
640 return true;
641 }
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:649
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 490 of file Property.h.

490 { return new Property( *this ); }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:383
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 391 of file Property.h.

392 {
393 m_handlers.setReadHandler( std::move( fun ) );
394 return *this;
395 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
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 397 of file Property.h.

398 {
399 m_handlers.setUpdateHandler( std::move( fun ) );
400 return *this;
401 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
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 649 of file Property.h.

650 {
651 using Converter = Details::Property::StringConverter<ValueType>;
652 *this = Converter().fromString( source );
653 return StatusCode::SUCCESS;
654 }
StatusCode::SUCCESS
Definition: StatusCode.h:29
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 643 of file Property.h.

644 {
645 // delegate to the 'opposite' method
646 return dest.assign( *this );
647 }
gaudirun.dest
dest
Definition: gaudirun.py:170
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 422 of file Property.h.

423 {
424 m_handlers.useReadHandler( *this );
425 return m_value;
426 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 442 of file Property.h.

443 {
444 return m_value != other;
445 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 562 of file Property.h.

563 {
564 ++value();
565 return *this;
566 }
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:478
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 568 of file Property.h.

569 {
570 return m_value++;
571 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 584 of file Property.h.

585 {
586 m_value += other;
587 return *this;
588 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 573 of file Property.h.

574 {
575 --value();
576 return *this;
577 }
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:478
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 579 of file Property.h.

580 {
581 return m_value--;
582 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 590 of file Property.h.

591 {
592 m_value -= other;
593 return *this;
594 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 449 of file Property.h.

450 {
451 return m_value < other;
452 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 463 of file Property.h.

464 {
465 m_verifier( v );
466 m_value = std::forward<T>( v );
467 m_handlers.useUpdateHandler( *this );
468 return *this;
469 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:332
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 435 of file Property.h.

436 {
437 return m_value == other;
438 }
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
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 404 of file Property.h.

405 {
406 return m_handlers.getReadHandler();
407 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
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 485 of file Property.h.

486 {
487 *this = v;
488 return true;
489 }
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 480 of file Property.h.

481 {
482 *this = v;
483 return true;
484 }
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 662 of file Property.h.

663 {
664 m_handlers.useReadHandler( *this );
665 using Utils::toStream;
666 toStream( m_value, out );
667 }
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:293
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
Gaudi::Property::m_value
StorageType m_value
Storage.
Definition: Property.h:331
Gaudi::Property::toStream
void toStream(std::ostream &out) const override
value -> stream
Definition: Property.h:662
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 656 of file Property.h.

657 {
658 using Converter = Details::Property::StringConverter<ValueType>;
659 return Converter().toString( *this );
660 }
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 409 of file Property.h.

410 {
411 return m_handlers.getUpdateHandler();
412 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
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 415 of file Property.h.

416 {
417 m_handlers.useUpdateHandler( *this );
418 return true;
419 }
Gaudi::Property::m_handlers
HandlersType m_handlers
Definition: Property.h:333
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 478 of file Property.h.

478 { 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 479 of file Property.h.

479 { return const_cast<ValueType&>( (const ValueType&)*this ); }
Gaudi::Property::ValueType
typename std::remove_reference< StorageType >::type ValueType
Definition: Property.h:325
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 472 of file Property.h.

472 { return m_verifier; }
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:332
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 474 of file Property.h.

474 { return m_verifier; }
Gaudi::Property::m_verifier
VerifierType m_verifier
Definition: Property.h:332

## 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 333 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 331 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 332 of file Property.h.

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

- GaudiKernel/GaudiKernel/Property.h