All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 >:
Collaboration diagram for PropertyWithVerifier< TYPE, VERIFIER >:

Public Member Functions

VERIFIER & verifier ()
 
const VERIFIER & verifier () const
 
bool set (const TYPE &value)
 update the value of the property/check the verifier More...
 
virtual bool setValue (const TYPE &value)
 implementation of PropertyWithValue::setValue More...
 
template<class OTHER , class OTHERVERIFIER >
PropertyWithVerifieroperator= (const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
 templated assignment More...
 
template<class OTHER >
PropertyWithVerifieroperator= (const PropertyWithValue< OTHER > &right)
 templated assignment More...
 
PropertyWithVerifieroperator= (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...
 
virtual bool assign (const Property &source)
 get the value from another property More...
 
virtual bool load (Property &dest) const
 set value for another property More...
 
virtual StatusCode fromString (const std::string &s)
 string -> value More...
 
virtual std::string toString () const
 value -> string More...
 
virtual void toStream (std::ostream &out) const
 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 PropertyCallbackFunctorreadCallBack () const
 Call-back functor at reading: the functor is owned by property! More...
 
const PropertyCallbackFunctorupdateCallBack () const
 Call-back functor for update: the functor is owned by property! More...
 
virtual void declareReadHandler (PropertyCallbackFunctor *pf)
 set new callback for reading More...
 
virtual void declareUpdateHandler (PropertyCallbackFunctor *pf)
 set new callback for update More...
 
template<class HT >
void declareReadHandler (void(HT::*MF)(Property &), HT *instance)
 
template<class HT >
void 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 ()
 virtual destructor More...
 
virtual Propertyclone () const =0
 clone: "virtual constructor" More...
 
void setName (const std::string &value)
 set the new value for the property name More...
 
void setDocumentation (const 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 (const std::string &name, typename Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal value, const bool owner, const VERIFIER &verifier)
 the constructor with property name and value More...
 
virtual ~PropertyWithVerifier ()
 virtual destructor More...
 
- Protected Member Functions inherited from PropertyWithValue< TYPE >
 PropertyWithValue (const 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...
 
virtual ~PropertyWithValue ()
 virtual destructor More...
 
PropertyWithValueoperator= (const TYPE &value)
 assignment operator More...
 
PropertyWithValueoperator= (const PropertyWithValue &rhs)
 
template<class OTHER >
PropertyWithValueoperator= (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, const std::string &name="")
 constructor from the property name and the type More...
 
 Property (const std::string &name, const std::type_info &type)
 constructor from the property name and the type More...
 
 Property (const Property &right)
 copy constructor More...
 
Propertyoperator= (const Property &right)
 assignment operator More...
 

Private Member Functions

 PropertyWithVerifier ()
 the default constructor is disabled More...
 
 PropertyWithVerifier (const PropertyWithVerifier &right)
 the copy constructor is disabled More...
 

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
PropertyCallbackFunctorm_readCallBack
 
PropertyCallbackFunctorm_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 396 of file Property.h.

Constructor & Destructor Documentation

template<class TYPE, class VERIFIER>
PropertyWithVerifier< TYPE, VERIFIER >::PropertyWithVerifier ( const std::string &  name,
typename Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal  value,
const bool  owner,
const VERIFIER &  verifier 
)
inlineprotected

the constructor with property name and value

Definition at line 403 of file Property.h.

407  : PropertyWithValue<TYPE> ( name , value , owner )
408  , m_verifier ( verifier )
409  {}
const std::string & name() const
property name
Definition: Property.h:47
Helper intermediate class which represent partly implemented property with value of concrete type...
Definition: Property.h:147
VERIFIER & verifier()
Definition: Property.h:415
const TYPE & value() const
explicit conversion
Definition: Property.h:355
VERIFIER m_verifier
the verifier itself
Definition: Property.h:441
template<class TYPE, class VERIFIER>
virtual PropertyWithVerifier< TYPE, VERIFIER >::~PropertyWithVerifier ( )
inlineprotectedvirtual

virtual destructor

Definition at line 411 of file Property.h.

411 {}
template<class TYPE, class VERIFIER>
PropertyWithVerifier< TYPE, VERIFIER >::PropertyWithVerifier ( )
private

the default constructor is disabled

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

the copy constructor is disabled

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

464 {
466  return *this ;
467 }
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:272
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 474 of file Property.h.

475 {
477  return *this ;
478 }
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:272
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 486 of file Property.h.

487 {
489  return *this ;
490 }
PropertyWithValue & operator=(const TYPE &value)
assignment operator
Definition: Property.h:272
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 449 of file Property.h.

450 {
452  if ( !m_verifier.isValid( &value ) ) { return false ; }
454  this->i_set( value ) ;
456  return this->useUpdateHandler() ;
457 }
virtual bool useUpdateHandler()
use the call-back function at update
Definition: Property.cpp:163
void i_set(const TYPE &value)
set the value
Definition: Property.h:203
const TYPE & value() const
explicit conversion
Definition: Property.h:355
VERIFIER m_verifier
the verifier itself
Definition: Property.h:441
template<class TYPE, class VERIFIER>
virtual bool PropertyWithVerifier< TYPE, VERIFIER >::setValue ( const TYPE &  value)
inlinevirtual

implementation of PropertyWithValue::setValue

Implements PropertyWithValue< TYPE >.

Definition at line 420 of file Property.h.

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

Definition at line 415 of file Property.h.

415 { return m_verifier ; }
VERIFIER m_verifier
the verifier itself
Definition: Property.h:441
template<class TYPE, class VERIFIER>
const VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier ( ) const
inline

Definition at line 416 of file Property.h.

416 { return m_verifier ; }
VERIFIER m_verifier
the verifier itself
Definition: Property.h:441

Member Data Documentation

template<class TYPE, class VERIFIER>
VERIFIER PropertyWithVerifier< TYPE, VERIFIER >::m_verifier
private

the verifier itself

Definition at line 441 of file Property.h.


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