| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# Property.h File Reference

`#include <string>`
`#include <stdexcept>`
`#include <typeinfo>`
`#include "GaudiKernel/Kernel.h"`
`#include "GaudiKernel/PropertyVerifier.h"`
`#include "GaudiKernel/Parsers.h"`
`#include "GaudiKernel/ToStream.h"`
`#include "GaudiKernel/SmartIF.h"`
`#include "GaudiKernel/PropertyCallbackFunctor.h"`

Include dependency graph for Property.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces
namespace | Gaudi
namespace | Gaudi::Utils
## Classes
class | Property
| Property base class allowing Property* collections to be "homogeneous". More...
class | PropertyWithValue< TYPE >
| Helper intermediate class which represent partly implemented property with value of concrete type. More...
class | PropertyWithVerifier< TYPE, VERIFIER >
| Helper intermediate class which represent partly implemented property with value of concrete type and concrete verifier. More...
class | SimpleProperty< TYPE, VERIFIER >
| SimpleProperty concrete class which implements the full Property interface. More...
class | SimplePropertyRef< TYPE, VERIFIER >
| SimplePropertyRef templated class. More...
class | GaudiHandleProperty
class | GaudiHandleArrayProperty
## Typedefs
typedef SimpleProperty< bool > | BooleanProperty
typedef SimpleProperty< char > | CharProperty
typedef SimpleProperty< signed char > | SignedCharProperty
typedef SimpleProperty < unsigned char > | UnsignedCharProperty
typedef SimpleProperty< short > | ShortProperty
typedef SimpleProperty < unsigned short > | UnsignedShortProperty
typedef SimpleProperty< int > | IntegerProperty
typedef SimpleProperty < unsigned int > | UnsignedIntegerProperty
typedef SimpleProperty< long > | LongProperty
typedef SimpleProperty < unsigned long > | UnsignedLongProperty
typedef SimpleProperty< long long > | LongLongProperty
typedef SimpleProperty < unsigned long long > | UnsignedLongLongProperty
typedef SimpleProperty< float > | FloatProperty
typedef SimpleProperty< double > | DoubleProperty
typedef SimpleProperty< long double > | LongDoubleProperty
typedef SimpleProperty < std::string > | StringProperty
typedef SimplePropertyRef< bool > | BooleanPropertyRef
typedef SimplePropertyRef< char > | CharPropertyRef
typedef SimplePropertyRef < signed char > | SignedCharPropertyRef
typedef SimplePropertyRef < unsigned char > | UnsignedCharPropertyRef
typedef SimplePropertyRef< short > | ShortPropertyRef
typedef SimplePropertyRef < unsigned short > | UnsignedShortPropertyRef
typedef SimplePropertyRef< int > | IntegerPropertyRef
typedef SimplePropertyRef < unsigned int > | UnsignedIntegerPropertyRef
typedef SimplePropertyRef< long > | LongPropertyRef
typedef SimplePropertyRef < unsigned long > | UnsignedLongPropertyRef
typedef SimplePropertyRef < long long > | LongLongPropertyRef
typedef SimplePropertyRef < unsigned long long > | UnsignedLongLongPropertyRef
typedef SimplePropertyRef< float > | FloatPropertyRef
typedef SimplePropertyRef< double > | DoublePropertyRef
typedef SimplePropertyRef < long double > | LongDoublePropertyRef
typedef SimplePropertyRef < std::string > | StringPropertyRef
typedef SimpleProperty < std::vector< bool > > | BooleanArrayProperty
typedef SimpleProperty < std::vector< char > > | CharArrayProperty
typedef SimpleProperty < std::vector< signed char > > | SignedCharArrayProperty
typedef SimpleProperty < std::vector< unsigned char > > | UnsignedCharArrayProperty
typedef SimpleProperty < std::vector< short > > | ShortArrayProperty
typedef SimpleProperty < std::vector< unsigned short > > | UnsignedShortArrayProperty
typedef SimpleProperty < std::vector< int > > | IntegerArrayProperty
typedef SimpleProperty < std::vector< unsigned int > > | UnsignedIntegerArrayProperty
typedef SimpleProperty < std::vector< long > > | LongArrayProperty
typedef SimpleProperty < std::vector< unsigned long > > | UnsignedLongArrayProperty
typedef SimpleProperty < std::vector< long long > > | LongLongArrayProperty
typedef SimpleProperty < std::vector< unsigned long long > > | UnsignedLongLongArrayProperty
typedef SimpleProperty < std::vector< float > > | FloatArrayProperty
typedef SimpleProperty < std::vector< double > > | DoubleArrayProperty
typedef SimpleProperty < std::vector< long double > > | LongDoubleArrayProperty
typedef SimpleProperty < std::vector< std::string > > | StringArrayProperty
typedef SimplePropertyRef < std::vector< bool > > | BooleanArrayPropertyRef
typedef SimplePropertyRef < std::vector< char > > | CharArrayPropertyRef
typedef SimplePropertyRef < std::vector< signed char > > | SignedCharArrayPropertyRef
typedef SimplePropertyRef < std::vector< unsigned char > > | UnsignedCharArrayPropertyRef
typedef SimplePropertyRef < std::vector< short > > | ShortArrayPropertyRef
typedef SimplePropertyRef < std::vector< unsigned short > > | UnsignedShortArrayPropertyRef
typedef SimplePropertyRef < std::vector< int > > | IntegerArrayPropertyRef
typedef SimplePropertyRef < std::vector< unsigned int > > | UnsignedIntegerArrayPropertyRef
typedef SimplePropertyRef < std::vector< long > > | LongArrayPropertyRef
typedef SimplePropertyRef < std::vector< unsigned long > > | UnsignedLongArrayPropertyRef
typedef SimplePropertyRef < std::vector< long long > > | LongLongArrayPropertyRef
typedef SimplePropertyRef < std::vector< unsigned long long > > | UnsignedLongLongArrayPropertyRef
typedef SimplePropertyRef < std::vector< float > > | FloatArrayPropertyRef
typedef SimplePropertyRef < std::vector< double > > | DoubleArrayPropertyRef
typedef SimplePropertyRef < std::vector< long double > > | LongDoubleArrayPropertyRef
typedef SimplePropertyRef < std::vector< std::string > > | StringArrayPropertyRef
## Functions
GAUDI_API std::ostream & | operator<< (std::ostream &stream, const Property &prop)
| The output operator for friendly printout.
GAUDI_API bool | Gaudi::Utils::hasProperty (const IProperty *p, const std::string &name)
| simple function which check the existence of the property with the given name.
GAUDI_API bool | Gaudi::Utils::hasProperty (const IInterface *p, const std::string &name)
| simple function which check the existence of the property with the given name.
GAUDI_API Property * | Gaudi::Utils::getProperty (const IProperty *p, const std::string &name)
| simple function which gets the property with given name from the component
GAUDI_API Property * | Gaudi::Utils::getProperty (const IInterface *p, const std::string &name)
| simple function which gets the property with given name from the component
GAUDI_API bool | Gaudi::Utils::hasProperty (const std::vector< const Property * > *p, const std::string &name)
| check the property by name from the list of the properties
GAUDI_API const Property * | Gaudi::Utils::getProperty (const std::vector< const Property * > *p, const std::string &name)
| get the property by name from the list of the properties
template<class TYPE>
StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
| simple function to set the property of the given object from the value
template<class TYPE>
StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const TYPE &value)
| simple function to set the property of the given object from the value
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const std::string &value, const std::string &doc="")
| the full specialization of the previous method setProperty( IProperty, std::string, const TYPE&) for standard strings
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const char *value, const std::string &doc="")
| the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-strings
template<unsigned N>
StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const char(&value)[N], const std::string &doc="")
| the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-arrays
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const Property *property, const std::string &doc="")
| simple function to set the property of the given object from another property
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const Property &property, const std::string &doc="")
| simple function to set the property of the given object from another property
template<class TYPE>
StatusCode | Gaudi::Utils::setProperty (IProperty *component, const std::string &name, const SimpleProperty< TYPE > &value, const std::string &doc="")
| simple function to set the property of the given object from another property
template<class TYPE>
StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const TYPE &value, const std::string &doc="")
| simple function to set the property of the given object from the value
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const std::string &value, const std::string &doc="")
| the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for standard strings
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const char *value, const std::string &doc="")
| the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for C-strings
template<unsigned N>
StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const char(&value)[N], const std::string &doc="")
| the full specialization of the method setProperty( IInterface, std::string, const TYPE&) for C-arrays
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const Property *property, const std::string &doc="")
| simple function to set the property of the given object from another property
GAUDI_API StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const Property &property, const std::string &doc="")
| simple function to set the property of the given object from another property
template<class TYPE>
StatusCode | Gaudi::Utils::setProperty (IInterface *component, const std::string &name, const SimpleProperty< TYPE > &value, const std::string &doc="")
| simple function to set the property of the given object from another property

## Typedef Documentation

typedef SimpleProperty< std::vector< bool > > BooleanArrayProperty

Definition at line 752 of file Property.h.

typedef SimplePropertyRef< std::vector< bool > > BooleanArrayPropertyRef

Definition at line 772 of file Property.h.

typedef SimpleProperty< bool > BooleanProperty

Definition at line 712 of file Property.h.

typedef SimplePropertyRef< bool > BooleanPropertyRef

Definition at line 732 of file Property.h.

typedef SimpleProperty< std::vector< char > > CharArrayProperty

Definition at line 753 of file Property.h.

typedef SimplePropertyRef< std::vector< char > > CharArrayPropertyRef

Definition at line 773 of file Property.h.

typedef SimpleProperty< char > CharProperty

Definition at line 713 of file Property.h.

typedef SimplePropertyRef< char > CharPropertyRef

Definition at line 733 of file Property.h.

typedef SimpleProperty< std::vector< double > > DoubleArrayProperty

Definition at line 765 of file Property.h.

typedef SimplePropertyRef< std::vector< double > > DoubleArrayPropertyRef

Definition at line 785 of file Property.h.

typedef SimpleProperty< double > DoubleProperty

Definition at line 725 of file Property.h.

typedef SimplePropertyRef< double > DoublePropertyRef

Definition at line 745 of file Property.h.

typedef SimpleProperty< std::vector< float > > FloatArrayProperty

Definition at line 764 of file Property.h.

typedef SimplePropertyRef< std::vector< float > > FloatArrayPropertyRef

Definition at line 784 of file Property.h.

typedef SimpleProperty< float > FloatProperty

Definition at line 724 of file Property.h.

typedef SimplePropertyRef< float > FloatPropertyRef

Definition at line 744 of file Property.h.

typedef SimpleProperty< std::vector< int > > IntegerArrayProperty

Definition at line 758 of file Property.h.

typedef SimplePropertyRef< std::vector< int > > IntegerArrayPropertyRef

Definition at line 778 of file Property.h.

typedef SimpleProperty< int > IntegerProperty

Definition at line 718 of file Property.h.

typedef SimplePropertyRef< int > IntegerPropertyRef

Definition at line 738 of file Property.h.

typedef SimpleProperty< std::vector< long > > LongArrayProperty

Definition at line 760 of file Property.h.

typedef SimplePropertyRef< std::vector< long > > LongArrayPropertyRef

Definition at line 780 of file Property.h.

typedef SimpleProperty< std::vector< long double > > LongDoubleArrayProperty

Definition at line 766 of file Property.h.

typedef SimplePropertyRef< std::vector< long double > > LongDoubleArrayPropertyRef

Definition at line 786 of file Property.h.

typedef SimpleProperty< long double > LongDoubleProperty

Definition at line 726 of file Property.h.

typedef SimplePropertyRef< long double > LongDoublePropertyRef

Definition at line 746 of file Property.h.

typedef SimpleProperty< std::vector< long long > > LongLongArrayProperty

Definition at line 762 of file Property.h.

typedef SimplePropertyRef< std::vector< long long > > LongLongArrayPropertyRef

Definition at line 782 of file Property.h.

typedef SimpleProperty< long long> LongLongProperty

Definition at line 722 of file Property.h.

typedef SimplePropertyRef< long long > LongLongPropertyRef

Definition at line 742 of file Property.h.

typedef SimpleProperty< long > LongProperty

Definition at line 720 of file Property.h.

typedef SimplePropertyRef< long > LongPropertyRef

Definition at line 740 of file Property.h.

typedef SimpleProperty< std::vector< short > > ShortArrayProperty

Definition at line 756 of file Property.h.

typedef SimplePropertyRef< std::vector< short > > ShortArrayPropertyRef

Definition at line 776 of file Property.h.

typedef SimpleProperty< short > ShortProperty

Definition at line 716 of file Property.h.

typedef SimplePropertyRef< short > ShortPropertyRef

Definition at line 736 of file Property.h.

typedef SimpleProperty< std::vector< signed char > > SignedCharArrayProperty

Definition at line 754 of file Property.h.

typedef SimplePropertyRef< std::vector< signed char > > SignedCharArrayPropertyRef

Definition at line 774 of file Property.h.

typedef SimpleProperty< signed char > SignedCharProperty

Definition at line 714 of file Property.h.

typedef SimplePropertyRef< signed char > SignedCharPropertyRef

Definition at line 734 of file Property.h.

typedef SimpleProperty< std::vector< std::string > > StringArrayProperty

Definition at line 768 of file Property.h.

typedef SimplePropertyRef< std::vector< std::string > > StringArrayPropertyRef

Definition at line 788 of file Property.h.

typedef SimpleProperty< std::string > StringProperty

Definition at line 728 of file Property.h.

typedef SimplePropertyRef< std::string > StringPropertyRef

Definition at line 748 of file Property.h.

typedef SimpleProperty< std::vector< unsigned char > > UnsignedCharArrayProperty

Definition at line 755 of file Property.h.

typedef SimplePropertyRef< std::vector< unsigned char > > UnsignedCharArrayPropertyRef

Definition at line 775 of file Property.h.

typedef SimpleProperty< unsigned char > UnsignedCharProperty

Definition at line 715 of file Property.h.

typedef SimplePropertyRef< unsigned char > UnsignedCharPropertyRef

Definition at line 735 of file Property.h.

typedef SimpleProperty< std::vector< unsigned int > > UnsignedIntegerArrayProperty

Definition at line 759 of file Property.h.

typedef SimplePropertyRef< std::vector< unsigned int > > UnsignedIntegerArrayPropertyRef

Definition at line 779 of file Property.h.

typedef SimpleProperty< unsigned int > UnsignedIntegerProperty

Definition at line 719 of file Property.h.

typedef SimplePropertyRef< unsigned int > UnsignedIntegerPropertyRef

Definition at line 739 of file Property.h.

typedef SimpleProperty< std::vector< unsigned long > > UnsignedLongArrayProperty

Definition at line 761 of file Property.h.

typedef SimplePropertyRef< std::vector< unsigned long > > UnsignedLongArrayPropertyRef

Definition at line 781 of file Property.h.

typedef SimpleProperty< std::vector< unsigned long long > > UnsignedLongLongArrayProperty

Definition at line 763 of file Property.h.

typedef SimplePropertyRef< std::vector< unsigned long long > > UnsignedLongLongArrayPropertyRef

Definition at line 783 of file Property.h.

typedef SimpleProperty< unsigned long long> UnsignedLongLongProperty

Definition at line 723 of file Property.h.

typedef SimplePropertyRef< unsigned long long > UnsignedLongLongPropertyRef

Definition at line 743 of file Property.h.

typedef SimpleProperty< unsigned long > UnsignedLongProperty

Definition at line 721 of file Property.h.

typedef SimplePropertyRef< unsigned long > UnsignedLongPropertyRef

Definition at line 741 of file Property.h.

typedef SimpleProperty< std::vector< unsigned short > > UnsignedShortArrayProperty

Definition at line 757 of file Property.h.

typedef SimplePropertyRef< std::vector< unsigned short > > UnsignedShortArrayPropertyRef

Definition at line 777 of file Property.h.

typedef SimpleProperty< unsigned short > UnsignedShortProperty

Definition at line 717 of file Property.h.

typedef SimplePropertyRef< unsigned short > UnsignedShortPropertyRef

Definition at line 737 of file Property.h.

## Function Documentation

GAUDI_API std::ostream& operator<< | ( | std::ostream & | stream,
|  | const Property & | prop |
| ) |  |  |

The output operator for friendly printout.

Definition at line 38 of file Property.cpp.

    00040 { return prop.fillStream ( stream ) ; }