Gaudi Framework, version v23r9

Home   Generated: Thu Jul 18 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 <Property.h>

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

Public Member Functions

VERIFIER & verifier ()
 
const VERIFIER & verifier () const
 
bool set (const TYPE &value)
 update the value of the property/check the verifier
 
virtual bool setValue (const TYPE &value)
 implementation of PropertyWithValue::setValue
 
template<class OTHER , class OTHERVERIFIER >
PropertyWithVerifieroperator= (const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
 templated assignment
 
template<class OTHER >
PropertyWithVerifieroperator= (const PropertyWithValue< OTHER > &right)
 templated assignment
 
PropertyWithVerifieroperator= (const TYPE &right)
 assignment
 
- Public Member Functions inherited from PropertyWithValue< TYPE >
 operator const TYPE & () const
 implicit conversion to the type
 
const TYPE & value () const
 explicit conversion
 
virtual bool assign (const Property &source)
 get the value from another property
 
virtual bool load (Property &dest) const
 set value for another property
 
virtual StatusCode fromString (const std::string &s)
 string -> value
 
virtual std::string toString () const
 value -> string
 
virtual void toStream (std::ostream &out) const
 value -> stream
 
- Public Member Functions inherited from Property
const std::stringname () const
 property name
 
const std::stringdocumentation () const
 property documentation
 
const std::type_infotype_info () const
 property type-info
 
std::string type () const
 property type
 
const PropertyCallbackFunctorreadCallBack () const
 Call-back functor at reading: the functor is owned by property!
 
const PropertyCallbackFunctorupdateCallBack () const
 Call-back functor for update: the functor is owned by property!
 
virtual void declareReadHandler (PropertyCallbackFunctor *pf)
 set new callback for reading
 
virtual void declareUpdateHandler (PropertyCallbackFunctor *pf)
 set new callback for update
 
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
 
virtual bool useUpdateHandler ()
 use the call-back function at update
 
virtual ~Property ()
 virtual destructor
 
virtual Propertyclone () const =0
 clone: "virtual constructor"
 
void setName (const std::string &value)
 set the new value for the property name
 
void setDocumentation (const std::string &documentation)
 set the documentation string
 
virtual std::ostreamfillStream (std::ostream &) const
 the printout of the property value
 

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
 
virtual ~PropertyWithVerifier ()
 virtual destructor
 
- Protected Member Functions inherited from PropertyWithValue< TYPE >
 PropertyWithValue (const std::string &name, PVal value, const bool owner)
 the constructor with property name and value
 
 PropertyWithValue (const PropertyWithValue &rhs)
 copy constructor (don't let the compiler generate a buggy one)
 
template<class OTHER >
 PropertyWithValue (const PropertyWithValue< OTHER > &right)
 copy constructor from any other type
 
virtual ~PropertyWithValue ()
 virtual destructor
 
PropertyWithValueoperator= (const TYPE &value)
 assignment operator
 
PropertyWithValueoperator= (const PropertyWithValue &rhs)
 
template<class OTHER >
PropertyWithValueoperator= (const PropertyWithValue< OTHER > &right)
 
void i_set (const TYPE &value)
 set the value
 
PVal i_get () const
 get the value
 
- Protected Member Functions inherited from Property
 Property (const std::type_info &type, const std::string &name="")
 constructor from the property name and the type
 
 Property (const std::string &name, const std::type_info &type)
 constructor from the property name and the type
 
 Property (const Property &right)
 copy constructor
 
Propertyoperator= (const Property &right)
 assignment operator
 

Private Member Functions

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

Private Attributes

VERIFIER m_verifier
 the verifier itself
 

Additional Inherited Members

- Public Types inherited from PropertyWithValue< TYPE >
typedef
Gaudi::Utils::PropertyTypeTraits
< TYPE > 
Traits
 the type-traits for properties
 
typedef Traits::PVal PVal
 the actual storage type
 
- 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.

template<class TYPE, class VERIFIER>
virtual PropertyWithVerifier< TYPE, VERIFIER >::~PropertyWithVerifier ( )
inlineprotectedvirtual

virtual destructor

Definition at line 411 of file Property.h.

{}
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< TYPE, VERIFIER > & PropertyWithVerifier< TYPE, VERIFIER >::operator= ( const PropertyWithVerifier< OTHER, OTHERVERIFIER > &  right)
inline

templated assignment

template assignment

Definition at line 486 of file Property.h.

{
return *this ;
}
template<class TYPE , class VERIFIER >
template<class OTHER >
PropertyWithVerifier< TYPE, VERIFIER > & PropertyWithVerifier< TYPE, VERIFIER >::operator= ( const PropertyWithValue< OTHER > &  right)
inline

templated assignment

template assignment

Definition at line 474 of file Property.h.

{
return *this ;
}
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.

{
return *this ;
}
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.

{
if ( !m_verifier.isValid( &value ) ) { return false ; }
this->i_set( value ) ;
return this->useUpdateHandler() ;
}
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.

{ return set( value ) ; }
template<class TYPE, class VERIFIER>
VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier ( )
inline

Definition at line 415 of file Property.h.

{ return m_verifier ; }
template<class TYPE, class VERIFIER>
const VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier ( ) const
inline

Definition at line 416 of file Property.h.

{ return m_verifier ; }

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:

Generated at Thu Jul 18 2013 12:18:11 for Gaudi Framework, version v23r9 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004