|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
#include <Property.h>


Public Types | |
| typedef Gaudi::Utils::PropertyTypeTraits < TYPE > | Traits |
| the type-traits for properties | |
| typedef Traits::PVal | PVal |
| the actual storage type | |
Public Member Functions | |
| operator const TYPE & () const | |
| implicit conversion to the type | |
| const TYPE & | value () const |
| explicit conversion | |
| virtual bool | setValue (const TYPE &value)=0 |
| NB: abstract : to be implemented when verifier is available. | |
| 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 | |
Protected Member Functions | |
| 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 | |
| PropertyWithValue & | operator= (const TYPE &value) |
| assignment operator | |
| PropertyWithValue & | operator= (const PropertyWithValue &rhs) |
| template<class OTHER> | |
| PropertyWithValue & | operator= (const PropertyWithValue< OTHER > &right) |
| void | i_set (const TYPE &value) |
| set the value | |
| PVal | i_get () const |
| get the value | |
Private Attributes | |
| PVal | m_value |
| the actual property value | |
| bool | m_own |
| owner of the storage | |
Definition at line 145 of file Property.h.
| typedef Gaudi::Utils::PropertyTypeTraits<TYPE> PropertyWithValue< TYPE >::Traits |
the type-traits for properties
Reimplemented in SimpleProperty< TYPE, VERIFIER >, SimpleProperty< double >, SimpleProperty< std::string >, SimpleProperty< std::vector< std::string > >, SimpleProperty< int >, SimpleProperty< unsigned int >, and SimpleProperty< char >.
Definition at line 150 of file Property.h.
| typedef Traits::PVal PropertyWithValue< TYPE >::PVal |
| PropertyWithValue< TYPE >::PropertyWithValue | ( | const std::string & | name, | |
| PVal | value, | |||
| const bool | owner | |||
| ) | [inline, protected] |
| PropertyWithValue< TYPE >::PropertyWithValue | ( | const PropertyWithValue< TYPE > & | rhs | ) | [inline, protected] |
| PropertyWithValue< TYPE >::PropertyWithValue | ( | const PropertyWithValue< OTHER > & | right | ) | [inline, protected] |
| PropertyWithValue< TYPE >::~PropertyWithValue | ( | ) | [inline, protected, virtual] |
| PropertyWithValue< TYPE > & PropertyWithValue< TYPE >::operator= | ( | const TYPE & | value | ) | [inline, protected] |
assignment operator
Reimplemented in PropertyWithVerifier< TYPE, VERIFIER >, SimpleProperty< TYPE, VERIFIER >, SimplePropertyRef< TYPE, VERIFIER >, PropertyWithVerifier< int, BoundedVerifier< int > >, PropertyWithVerifier< double, BoundedVerifier< double > >, PropertyWithVerifier< unsigned int, BoundedVerifier< unsigned int > >, PropertyWithVerifier< std::string, BoundedVerifier< std::string > >, PropertyWithVerifier< char, BoundedVerifier< char > >, and PropertyWithVerifier< std::vector< std::string >, BoundedVerifier< std::vector< std::string > > >.
Definition at line 267 of file Property.h.
00268 { 00269 if ( !setValue ( value ) ) 00270 { throw std::out_of_range( "Value not verified" ) ; } 00271 return *this ; 00272 }
| PropertyWithValue< TYPE > & PropertyWithValue< TYPE >::operator= | ( | const PropertyWithValue< TYPE > & | rhs | ) | [inline, protected] |
Definition at line 347 of file Property.h.
00348 { 00349 // assign the base class 00350 Property::operator=( right ) ; 00351 // assign the value 00352 PropertyWithValue<TYPE>::operator=( right.value() ) ; 00353 return *this ; 00354 }
| PropertyWithValue< TYPE > & PropertyWithValue< TYPE >::operator= | ( | const PropertyWithValue< OTHER > & | right | ) | [inline, protected] |
Reimplemented in PropertyWithVerifier< TYPE, VERIFIER >, SimpleProperty< TYPE, VERIFIER >, SimplePropertyRef< TYPE, VERIFIER >, PropertyWithVerifier< int, BoundedVerifier< int > >, PropertyWithVerifier< double, BoundedVerifier< double > >, PropertyWithVerifier< unsigned int, BoundedVerifier< unsigned int > >, PropertyWithVerifier< std::string, BoundedVerifier< std::string > >, PropertyWithVerifier< char, BoundedVerifier< char > >, PropertyWithVerifier< std::vector< std::string >, BoundedVerifier< std::vector< std::string > > >, SimpleProperty< double >, SimpleProperty< std::string >, SimpleProperty< std::vector< std::string > >, SimpleProperty< int >, SimpleProperty< unsigned int >, and SimpleProperty< char >.
Definition at line 361 of file Property.h.
00362 { 00363 // assign the base class 00364 Property::operator=( right ) ; 00365 // assign the value 00366 PropertyWithValue<TYPE>::operator=( right.value() ) ; 00367 return *this ; 00368 }
| PropertyWithValue< TYPE >::operator const TYPE & | ( | ) | const [inline] |
implicit conversion to the type
Definition at line 179 of file Property.h.
00179 { return value() ;}
| const TYPE & PropertyWithValue< TYPE >::value | ( | ) | const [inline] |
explicit conversion
get the access to the storage
Definition at line 340 of file Property.h.
00341 { useReadHandler() ; return *m_value ; }
| virtual bool PropertyWithValue< TYPE >::setValue | ( | const TYPE & | value | ) | [pure virtual] |
NB: abstract : to be implemented when verifier is available.
Implemented in PropertyWithVerifier< TYPE, VERIFIER >, PropertyWithVerifier< int, BoundedVerifier< int > >, PropertyWithVerifier< double, BoundedVerifier< double > >, PropertyWithVerifier< unsigned int, BoundedVerifier< unsigned int > >, PropertyWithVerifier< std::string, BoundedVerifier< std::string > >, PropertyWithVerifier< char, BoundedVerifier< char > >, and PropertyWithVerifier< std::vector< std::string >, BoundedVerifier< std::vector< std::string > > >.
| bool PropertyWithValue< TYPE >::assign | ( | const Property & | source | ) | [inline, virtual] |
get the value from another property
implementation of Property::assign
Implements Property.
Definition at line 278 of file Property.h.
00279 { 00280 // 1) Is the property of "the same" type? 00281 const PropertyWithValue<TYPE>* p = 00282 dynamic_cast<const PropertyWithValue<TYPE>*> ( &source ) ; 00283 if ( 0 != p ) { return setValue ( p->value() ) ; } // RETURN 00284 // 2) Else use the string representation 00285 return this->fromString( source.toString() ).isSuccess() ; 00286 }
| bool PropertyWithValue< TYPE >::load | ( | Property & | dest | ) | const [inline, virtual] |
set value for another property
implementation of Property::load
Implements Property.
Definition at line 292 of file Property.h.
00293 { 00294 // delegate to the 'opposite' method ; 00295 return dest.assign( *this ) ; 00296 }
| StatusCode PropertyWithValue< TYPE >::fromString | ( | const std::string & | s | ) | [inline, virtual] |
string -> value
Implementation of PropertyWithValue::fromString.
Implements Property.
Definition at line 312 of file Property.h.
00313 { 00314 TYPE tmp ; 00315 StatusCode sc = Gaudi::Parsers::parse ( tmp , source ) ; 00316 if ( sc.isFailure() ) { return sc ; } 00317 return setValue ( tmp ) ? StatusCode::SUCCESS : StatusCode::FAILURE ; 00318 }
| std::string PropertyWithValue< TYPE >::toString | ( | ) | const [inline, virtual] |
value -> string
Implementation of PropertyWithValue::toString.
Implements Property.
Definition at line 302 of file Property.h.
00303 { 00304 useReadHandler(); 00305 return Gaudi::Utils::toString( *m_value ) ; 00306 }
| void PropertyWithValue< TYPE >::i_set | ( | const TYPE & | value | ) | [inline, protected] |
| PVal PropertyWithValue< TYPE >::i_get | ( | ) | const [inline, protected] |
PVal PropertyWithValue< TYPE >::m_value [private] |
bool PropertyWithValue< TYPE >::m_own [private] |