SimplePropertyRef< TYPE, VERIFIER > Class Template Reference

SimplePropertyRef templated class. More...

#include <GaudiKernel/Property.h>

Inheritance diagram for SimplePropertyRef< TYPE, VERIFIER >:
Collaboration diagram for SimplePropertyRef< TYPE, VERIFIER >:

Public Member Functions

 SimplePropertyRef (std::string name, TYPE &value, VERIFIER verifier=VERIFIER())
 Constructor from the name, the value and the verifier. More...
 
 SimplePropertyRef (const SimplePropertyRef &right)
 copy constructor (must be!) More...
 
 ~SimplePropertyRef () override=default
 virtual Destructor More...
 
SimplePropertyRefclone () const override
 implementation of Property::clone More...
 
SimplePropertyRefoperator= (const TYPE &value)
 assignment form the value More...
 
template<class OTHER >
SimplePropertyRefoperator= (const PropertyWithValue< OTHER > &right)
 assignment form the other property type More...
 
 SimplePropertyRef (std::string name, TYPE &value, VERIFIER verifier=VERIFIER())
 Constructor from the name, the value and the verifier. More...
 
 SimplePropertyRef (const SimplePropertyRef &right)
 copy constructor (must be!) More...
 
 ~SimplePropertyRef () override=default
 virtual Destructor More...
 
SimplePropertyRefclone () const override
 implementation of Property::clone More...
 
SimplePropertyRefoperator= (const TYPE &value)
 assignment form the value More...
 
template<class OTHER >
SimplePropertyRefoperator= (const PropertyWithValue< OTHER > &right)
 assignment form the other property type More...
 
template<class OTHER >
SimplePropertyRef< TYPE, VERIFIER > & operator= (const PropertyWithValue< OTHER > &right)
 assignment form the other property type More...
 
- Public Member Functions inherited from PropertyWithVerifier< TYPE, VERIFIER >
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 >
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...
 
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 >
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...
 
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...
 
 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 PropertydeclareReadHandler (std::function< void(Property &)> fun)
 set new callback for reading More...
 
virtual PropertydeclareUpdateHandler (std::function< void(Property &)> fun)
 set new callback for update More...
 
template<class HT >
PropertydeclareReadHandler (void(HT::*MF)(Property &), HT *instance)
 
template<class HT >
PropertydeclareUpdateHandler (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...
 
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...
 
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 PropertydeclareReadHandler (std::function< void(Property &)> fun)
 set new callback for reading More...
 
virtual PropertydeclareUpdateHandler (std::function< void(Property &)> fun)
 set new callback for update More...
 
template<class HT >
PropertydeclareReadHandler (void(HT::*MF)(Property &), HT *instance)
 
template<class HT >
PropertydeclareUpdateHandler (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...
 
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...
 

Private Member Functions

 SimplePropertyRef ()
 
 SimplePropertyRef ()
 

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...
 
typedef Gaudi::Utils::PropertyTypeTraits< TYPE > Traits
 the type-traits for properties More...
 
typedef Traits::PVal PVal
 the actual storage type More...
 
- Protected Member Functions inherited from PropertyWithVerifier< TYPE, VERIFIER >
 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...
 
 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...
 
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...
 
 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...
 
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, 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...
 
Propertyoperator= (const Property &)=default
 assignment operator More...
 
 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...
 
Propertyoperator= (const Property &)=default
 assignment operator 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 = NullVerifier<TYPE>>
class SimplePropertyRef< TYPE, VERIFIER >

SimplePropertyRef templated class.

Author
Paul Maley
CTDay
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u

Definition at line 14 of file HistoProperty.h.

Constructor & Destructor Documentation

template<class TYPE , class VERIFIER >
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( std::string  name,
TYPE &  value,
VERIFIER  verifier = VERIFIER() 
)

Constructor from the name, the value and the verifier.

Parameters
valueNB! non-const reference

Definition at line 650 of file Property.h.

653  : PropertyWithVerifier<TYPE,VERIFIER> ( std::move(name) , &value , false , verifier )
654 {}
const std::string & name() const
property name
Definition: Property.h:45
Helper intermediate class which represent partly implemented property with value of concrete type and...
Definition: Property.h:382
VERIFIER & verifier()
Definition: Property.h:401
const TYPE & value() const
explicit conversion
Definition: Property.h:341
template<class TYPE , class VERIFIER >
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( const SimplePropertyRef< TYPE, VERIFIER > &  right)

copy constructor (must be!)

Definition at line 660 of file Property.h.

662 ( right.name() , right.i_get() , false , right.verifier() )
663 {}
PVal i_get() const
get the value
Definition: Property.h:194
const std::string & name() const
property name
Definition: Property.h:45
Helper intermediate class which represent partly implemented property with value of concrete type and...
Definition: Property.h:382
VERIFIER & verifier()
Definition: Property.h:401
template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::~SimplePropertyRef ( )
overridedefault

virtual Destructor

template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( )
private
template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( std::string  name,
TYPE &  value,
VERIFIER  verifier = VERIFIER() 
)

Constructor from the name, the value and the verifier.

Parameters
valueNB! non-const reference
template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( const SimplePropertyRef< TYPE, VERIFIER > &  right)

copy constructor (must be!)

template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::~SimplePropertyRef ( )
overridedefault

virtual Destructor

template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef ( )
private

Member Function Documentation

template<class TYPE , class VERIFIER >
SimplePropertyRef< TYPE, VERIFIER > * SimplePropertyRef< TYPE, VERIFIER >::clone ( ) const
inlineoverridevirtual

implementation of Property::clone

Implements Property.

Definition at line 670 of file Property.h.

671 { return new SimplePropertyRef(*this) ; }
template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef* SimplePropertyRef< TYPE, VERIFIER >::clone ( ) const
overridevirtual

implementation of Property::clone

Implements Property.

template<class TYPE , class VERIFIER >
SimplePropertyRef< TYPE, VERIFIER > & SimplePropertyRef< TYPE, VERIFIER >::operator= ( const TYPE &  value)
inline

assignment form the value

assignment from the value

Definition at line 678 of file Property.h.

679 {
681  return *this ;
682 }
PropertyWithVerifier & operator=(const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
templated assignment
const TYPE & value() const
explicit conversion
Definition: Property.h:341
template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
SimplePropertyRef& SimplePropertyRef< TYPE, VERIFIER >::operator= ( const TYPE &  value)

assignment form the value

template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
template<class OTHER >
SimplePropertyRef& SimplePropertyRef< TYPE, VERIFIER >::operator= ( const PropertyWithValue< OTHER > &  right)

assignment form the other property type

template<class TYPE, class VERIFIER = NullVerifier<TYPE>>
template<class OTHER >
SimplePropertyRef& SimplePropertyRef< TYPE, VERIFIER >::operator= ( const PropertyWithValue< OTHER > &  right)

assignment form the other property type

template<class TYPE , class VERIFIER >
template<class OTHER >
SimplePropertyRef< TYPE, VERIFIER > & SimplePropertyRef< TYPE, VERIFIER >::operator= ( const PropertyWithValue< OTHER > &  right)
inline

assignment form the other property type

Definition at line 691 of file Property.h.

692 {
694  return *this ;
695 }
PropertyWithVerifier & operator=(const PropertyWithVerifier< OTHER, OTHERVERIFIER > &right)
templated assignment

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