All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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.

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
 

Namespaces

 Gaudi
 Helper functions to set/get the application return code.
 
 Gaudi::Utils
 

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. More...
 
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. More...
 
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. More...
 
GAUDI_API PropertyGaudi::Utils::getProperty (const IProperty *p, const std::string &name)
 simple function which gets the property with given name from the component More...
 
GAUDI_API PropertyGaudi::Utils::getProperty (const IInterface *p, const std::string &name)
 simple function which gets the property with given name from the component More...
 
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 More...
 
GAUDI_API const PropertyGaudi::Utils::getProperty (const std::vector< const Property * > *p, const std::string &name)
 get the property by name from the list of the properties More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 

Typedef Documentation

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

Definition at line 767 of file Property.h.

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

Definition at line 787 of file Property.h.

Definition at line 727 of file Property.h.

Definition at line 747 of file Property.h.

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

Definition at line 768 of file Property.h.

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

Definition at line 788 of file Property.h.

typedef SimpleProperty< char > CharProperty

Definition at line 728 of file Property.h.

Definition at line 748 of file Property.h.

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

Definition at line 780 of file Property.h.

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

Definition at line 800 of file Property.h.

typedef SimpleProperty< double > DoubleProperty

Definition at line 740 of file Property.h.

Definition at line 760 of file Property.h.

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

Definition at line 779 of file Property.h.

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

Definition at line 799 of file Property.h.

typedef SimpleProperty< float > FloatProperty

Definition at line 739 of file Property.h.

Definition at line 759 of file Property.h.

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

Definition at line 773 of file Property.h.

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

Definition at line 793 of file Property.h.

Definition at line 733 of file Property.h.

Definition at line 753 of file Property.h.

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

Definition at line 775 of file Property.h.

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

Definition at line 795 of file Property.h.

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

Definition at line 781 of file Property.h.

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

Definition at line 801 of file Property.h.

typedef SimpleProperty< long double > LongDoubleProperty

Definition at line 741 of file Property.h.

typedef SimplePropertyRef< long double > LongDoublePropertyRef

Definition at line 761 of file Property.h.

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

Definition at line 777 of file Property.h.

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

Definition at line 797 of file Property.h.

typedef SimpleProperty< long long> LongLongProperty

Definition at line 737 of file Property.h.

typedef SimplePropertyRef< long long > LongLongPropertyRef

Definition at line 757 of file Property.h.

typedef SimpleProperty< long > LongProperty

Definition at line 735 of file Property.h.

Definition at line 755 of file Property.h.

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

Definition at line 771 of file Property.h.

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

Definition at line 791 of file Property.h.

typedef SimpleProperty< short > ShortProperty

Definition at line 731 of file Property.h.

Definition at line 751 of file Property.h.

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

Definition at line 769 of file Property.h.

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

Definition at line 789 of file Property.h.

typedef SimpleProperty< signed char > SignedCharProperty

Definition at line 729 of file Property.h.

typedef SimplePropertyRef< signed char > SignedCharPropertyRef

Definition at line 749 of file Property.h.

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

Definition at line 783 of file Property.h.

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

Definition at line 803 of file Property.h.

typedef SimpleProperty< std::string > StringProperty

Definition at line 743 of file Property.h.

typedef SimplePropertyRef< std::string > StringPropertyRef

Definition at line 763 of file Property.h.

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

Definition at line 770 of file Property.h.

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

Definition at line 790 of file Property.h.

typedef SimpleProperty< unsigned char > UnsignedCharProperty

Definition at line 730 of file Property.h.

typedef SimplePropertyRef< unsigned char > UnsignedCharPropertyRef

Definition at line 750 of file Property.h.

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

Definition at line 774 of file Property.h.

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

Definition at line 794 of file Property.h.

typedef SimpleProperty< unsigned int > UnsignedIntegerProperty

Definition at line 734 of file Property.h.

Definition at line 754 of file Property.h.

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

Definition at line 776 of file Property.h.

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

Definition at line 796 of file Property.h.

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

Definition at line 778 of file Property.h.

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

Definition at line 798 of file Property.h.

typedef SimpleProperty< unsigned long long> UnsignedLongLongProperty

Definition at line 738 of file Property.h.

typedef SimplePropertyRef< unsigned long long > UnsignedLongLongPropertyRef

Definition at line 758 of file Property.h.

typedef SimpleProperty< unsigned long > UnsignedLongProperty

Definition at line 736 of file Property.h.

typedef SimplePropertyRef< unsigned long > UnsignedLongPropertyRef

Definition at line 756 of file Property.h.

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

Definition at line 772 of file Property.h.

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

Definition at line 792 of file Property.h.

typedef SimpleProperty< unsigned short > UnsignedShortProperty

Definition at line 732 of file Property.h.

typedef SimplePropertyRef< unsigned short > UnsignedShortPropertyRef

Definition at line 752 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.

40 { return prop.fillStream ( stream ) ; }
virtual std::ostream & fillStream(std::ostream &) const
the printout of the property value
Definition: Property.cpp:182