| The Gaudi Framework v27r1

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

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

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PropertyWithVerifier< TYPE, VERIFIER > Class Template Reference

Helper intermediate class which represent partly implemented property with value of concrete type and concrete verifier. More...

`#include <GaudiKernel/Property.h>`

Inheritance diagram for PropertyWithVerifier< TYPE, VERIFIER >:
[legend]
Collaboration diagram for PropertyWithVerifier< TYPE, VERIFIER >:
[legend]

## Public Member Functions
VERIFIER & | verifier ()
const VERIFIER & | verifier () const
bool | set (const TYPE &value)
| update the value of the property/check the verifier More...
bool | setValue (const TYPE &value) override
| implementation of PropertyWithValue::setValue More...
template<class OTHER , class OTHERVERIFIER >
PropertyWithVerifier & | operator= (const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
| templated assignment More...
template<class OTHER >
PropertyWithVerifier & | operator= (const PropertyWithValue< OTHER > &right)
| templated assignment More...
PropertyWithVerifier & | operator= (const TYPE &right)
| assignment More...
template<class OTHER >
PropertyWithVerifier< TYPE, VERIFIER > & | operator= (const PropertyWithValue< OTHER > &right)
| template assignment More...
template<class OTHER , class OTHERVERIFIER >
PropertyWithVerifier< TYPE, VERIFIER > & | operator= (const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
| template assignment More...
Public Member Functions inherited from PropertyWithValue< TYPE >
| operator const TYPE & () const
| implicit conversion to the type More...
const TYPE & | value () const
| explicit conversion More...
bool | assign (const Property &source) override
| get the value from another property More...
bool | load (Property &dest) const override
| set value for another property More...
StatusCode | fromString (const std::string &s) override
| string -> value More...
std::string | toString () const override
| value -> string More...
void | toStream (std::ostream &out) const override
| value -> stream More...
template<class OTHER >
PropertyWithValue< TYPE > & | operator= (const PropertyWithValue< OTHER > &right)
Public Member Functions inherited from Property
const std::string & | name () const
| property name More...
const 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...
const std::function< void(Property &)> & | readCallBack () const
| get a reference to the readCallBack More...
const std::function< void(Property &)> & | updateCallBack () const
| get a reference to the updateCallBack More...
virtual Property & | declareReadHandler (std::function< void(Property &)> fun)
| set new callback for reading More...
virtual Property & | declareUpdateHandler (std::function< void(Property &)> fun)
| set new callback for update More...
template<class HT >
Property & | declareReadHandler (void(HT::*MF)(Property &), HT *instance)
template<class HT >
Property & | declareUpdateHandler (void(HT::*MF)(Property &), HT *instance)
virtual void | useReadHandler () const
| use the call-back function at reading More...
virtual bool | useUpdateHandler ()
| use the call-back function at update More...
virtual | ~Property ()=default
| virtual destructor More...
virtual Property * | clone () const =0
| clone: "virtual constructor" More...
void | setName (std::string value)
| set the new value for the property name More...
void | setDocumentation (std::string documentation)
| set the documentation string More...
virtual std::ostream & | fillStream (std::ostream &) const
| the printout of the property value More...

## Protected Member Functions
| PropertyWithVerifier (std::string name, typename Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal value, const bool owner, const VERIFIER &verifier)
| the constructor with property name and value More...
| ~PropertyWithVerifier () override=default
| virtual destructor More...
Protected Member Functions inherited from PropertyWithValue< TYPE >
| PropertyWithValue (std::string name, PVal value, const bool owner)
| the constructor with property name and value More...
| PropertyWithValue (const PropertyWithValue &rhs)
| copy constructor (don't let the compiler generate a buggy one) More...
template<class OTHER >
| PropertyWithValue (const PropertyWithValue< OTHER > &right)
| copy constructor from any other type More...
| ~PropertyWithValue () override
| virtual destructor More...
PropertyWithValue & | operator= (const TYPE &value)
| assignment operator More...
PropertyWithValue & | operator= (const PropertyWithValue &rhs)
template<class OTHER >
PropertyWithValue & | operator= (const PropertyWithValue< OTHER > &right)
void | i_set (const TYPE &value)
| set the value More...
PVal | i_get () const
| get the value More...
Protected Member Functions inherited from Property
| Property (const std::type_info &type, std::string name="")
| constructor from the property name and the type More...
| Property (std::string name, const std::type_info &type)
| constructor from the property name and the type More...
| Property (const Property &)=default
| copy constructor More...
Property & | operator= (const Property &)=default
| assignment operator More...

## Private Member Functions
| PropertyWithVerifier ()
| the default & copy constructors are deleted More...
| PropertyWithVerifier (const PropertyWithVerifier &right)

## Private Attributes
VERIFIER | m_verifier
| the verifier itself More...

## Additional Inherited Members
Public Types inherited from PropertyWithValue< TYPE >
typedef Gaudi::Utils::PropertyTypeTraits< TYPE > | Traits
| the type-traits for properties More...
typedef Traits::PVal | PVal
| the actual storage type More...
Protected Attributes inherited from Property
std::function< void(Property &)> | m_readCallBack
std::function< void(Property &)> | m_updateCallBack

## Detailed Description

### template<class TYPE, class VERIFIER>
class PropertyWithVerifier< TYPE, VERIFIER >

Helper intermediate class which represent partly implemented property with value of concrete type and concrete verifier.

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

Definition at line 382 of file Property.h.

## Constructor & Destructor Documentation

template<class TYPE, class VERIFIER>

PropertyWithVerifier< TYPE, VERIFIER >::PropertyWithVerifier | ( | std::string | name,
|  | typename Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal | value,
|  | const bool | owner,
|  | const VERIFIER & | verifier
| ) |  |
| inline protected

the constructor with property name and value

Definition at line 389 of file Property.h.

393 : PropertyWithValue<TYPE> ( std::move(name) , value , owner )
394 , m_verifier ( verifier )
395 {}
PropertyWithValue
Helper intermediate class which represent partly implemented property with value of concrete type...
Definition: Property.h:134
PropertyWithVerifier::verifier
VERIFIER & verifier()
Definition: Property.h:401
std::move
T move(T...args)
PropertyWithValue::value
const TYPE & value() const
explicit conversion
Definition: Property.h:341
PropertyWithVerifier::m_verifier
VERIFIER m_verifier
the verifier itself
Definition: Property.h:426
template<class TYPE, class VERIFIER>

PropertyWithVerifier< TYPE, VERIFIER >::~PropertyWithVerifier | ( |  | ) |
| override protected default

virtual destructor

template<class TYPE, class VERIFIER>

PropertyWithVerifier< TYPE, VERIFIER >::PropertyWithVerifier | ( |  | ) |
| private

the default & copy constructors are deleted

template<class TYPE, class VERIFIER>

PropertyWithVerifier< TYPE, VERIFIER >::PropertyWithVerifier | ( | const PropertyWithVerifier< TYPE, VERIFIER > & | right | ) |
| private

## Member Function Documentation

template<class TYPE, class VERIFIER>
template<class OTHER , class OTHERVERIFIER >

PropertyWithVerifier& PropertyWithVerifier< TYPE, VERIFIER >::operator= | ( | const PropertyWithVerifier< OTHER, OTHERVERIFIER > & | right | ) |

templated assignment

template<class TYPE, class VERIFIER>
template<class OTHER >

PropertyWithVerifier& PropertyWithVerifier< TYPE, VERIFIER >::operator= | ( | const PropertyWithValue< OTHER > & | right | ) |

templated assignment

template<class TYPE, class VERIFIER >

PropertyWithVerifier< TYPE, VERIFIER > & PropertyWithVerifier< TYPE, VERIFIER >::operator= | ( | const TYPE & | right | ) |
| inline

assignment

Definition at line 448 of file Property.h.

449 {
450 PropertyWithValue<TYPE>::operator=( right ) ;
451 return *this ;
452 }
PropertyWithValue::operator=
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:258
template<class TYPE, class VERIFIER>
template<class OTHER >

PropertyWithVerifier<TYPE,VERIFIER>& PropertyWithVerifier< TYPE, VERIFIER >::operator= | ( | const PropertyWithValue< OTHER > & | right | ) |
| inline

template assignment

Definition at line 459 of file Property.h.

460 {
461 PropertyWithValue<TYPE>::operator=(right) ;
462 return *this ;
463 }
PropertyWithValue::operator=
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:258
template<class TYPE, class VERIFIER>
template<class OTHER , class OTHERVERIFIER >

PropertyWithVerifier<TYPE,VERIFIER>& PropertyWithVerifier< TYPE, VERIFIER >::operator= | ( | const PropertyWithVerifier< OTHER, OTHERVERIFIER > & | right | ) |
| inline

template assignment

Definition at line 471 of file Property.h.

472 {
473 PropertyWithValue<TYPE>::operator=(right) ;
474 return *this ;
475 }
PropertyWithValue::operator=
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:258
template<class TYPE, class VERIFIER >

bool PropertyWithVerifier< TYPE, VERIFIER >::set | ( | const TYPE & | value | ) |
| inline

update the value of the property/check the verifier

Implementation of PropertyWithVerifier::set.

use verifier!

update the value

invoke the update handler

Definition at line 434 of file Property.h.

435 {
437 if ( !m_verifier.isValid( &value ) ) { return false ; }
439 this->i_set( value ) ;
441 return this->useUpdateHandler() ;
442 }
Property::useUpdateHandler
virtual bool useUpdateHandler()
use the call-back function at update
Definition: Property.cpp:92
PropertyWithValue::i_set
void i_set(const TYPE &value)
set the value
Definition: Property.h:190
PropertyWithValue::value
const TYPE & value() const
explicit conversion
Definition: Property.h:341
PropertyWithVerifier::m_verifier
VERIFIER m_verifier
the verifier itself
Definition: Property.h:426
template<class TYPE, class VERIFIER>

bool PropertyWithVerifier< TYPE, VERIFIER >::setValue | ( | const TYPE & | value | ) |
| inline override virtual

implementation of PropertyWithValue::setValue

Implements PropertyWithValue< TYPE >.

Definition at line 406 of file Property.h.

406 { return set( value ) ; }
PropertyWithVerifier::set
bool set(const TYPE &value)
update the value of the property/check the verifier
Definition: Property.h:434
PropertyWithValue::value
const TYPE & value() const
explicit conversion
Definition: Property.h:341
template<class TYPE, class VERIFIER>

VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier | ( |  | ) |
| inline

Definition at line 401 of file Property.h.

401 { return m_verifier ; }
PropertyWithVerifier::m_verifier
VERIFIER m_verifier
the verifier itself
Definition: Property.h:426
template<class TYPE, class VERIFIER>

const VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier | ( |  | ) | const
| inline

Definition at line 402 of file Property.h.

402 { return m_verifier ; }
PropertyWithVerifier::m_verifier
VERIFIER m_verifier
the verifier itself
Definition: Property.h:426

## Member Data Documentation

template<class TYPE, class VERIFIER>

VERIFIER PropertyWithVerifier< TYPE, VERIFIER >::m_verifier
| private

the verifier itself

Definition at line 426 of file Property.h.

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

- GaudiKernel/GaudiKernel/Property.h