| The Gaudi Framework v29r0 (ff2e7097)

- 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<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 = StorageType, 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 , 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 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, typename std::remove_reference<T>::type>
| 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<!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:479
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 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 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:384
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 = 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 366 of file Property.h.

367 : Property( std::move( name ), std::forward<T>( value ), std::move( doc ) )
368 {
369 owner->declareProperty( *this );
370 setOwnerType<OWNER>();
371 }
Gaudi::Property::Property
Property()
Construct an anonymous property with default constructed value.
Definition: Property.h:384
std::move
T move(T...args)
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:479
template<class TYPE, class VERIFIER = Details::Property::NullVerifier, class HANDLERS = Details::Property::UpdateHandler>
template<class T , 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 377 of file Property.h.

377 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value( std::forward<T>( v ) )
378 {
379 }
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 = 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 384 of file Property.h.

384 : Details::PropertyBase( typeid( ValueType ), "", "" ), m_value()
385 {
386 }
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 631 of file Property.h.

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

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

393 {
394 m_handlers.setReadHandler( std::move( fun ) );
395 return *this;
396 }
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 398 of file Property.h.

399 {
400 m_handlers.setUpdateHandler( std::move( fun ) );
401 return *this;
402 }
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 650 of file Property.h.

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

645 {
646 // delegate to the 'opposite' method
647 return dest.assign( *this );
648 }
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 423 of file Property.h.

424 {
425 m_handlers.useReadHandler( *this );
426 return m_value;
427 }
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 443 of file Property.h.

444 {
445 return m_value != other;
446 }
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 563 of file Property.h.

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

570 {
571 return m_value++;
572 }
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 585 of file Property.h.

586 {
587 m_value += other;
588 return *this;
589 }
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 574 of file Property.h.

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

581 {
582 return m_value--;
583 }
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 591 of file Property.h.

592 {
593 m_value -= other;
594 return *this;
595 }
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 450 of file Property.h.

451 {
452 return m_value < other;
453 }
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 464 of file Property.h.

465 {
466 m_verifier( v );
467 m_value = std::forward<T>( v );
468 m_handlers.useUpdateHandler( *this );
469 return *this;
470 }
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 436 of file Property.h.

437 {
438 return m_value == other;
439 }
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 405 of file Property.h.

406 {
407 return m_handlers.getReadHandler();
408 }
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 486 of file Property.h.

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

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

664 {
665 m_handlers.useReadHandler( *this );
666 using Utils::toStream;
667 toStream( m_value, out );
668 }
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:663
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 657 of file Property.h.

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

411 {
412 return m_handlers.getUpdateHandler();
413 }
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 416 of file Property.h.

417 {
418 m_handlers.useUpdateHandler( *this );
419 return true;
420 }
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 479 of file Property.h.

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

480 { 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 473 of file Property.h.

473 { 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 475 of file Property.h.

475 { 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