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 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::stringStringProperty
 
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::stringStringPropertyRef
 
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::ostreamoperator<< (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

Definition at line 742 of file Property.h.

Definition at line 762 of file Property.h.

Definition at line 702 of file Property.h.

Definition at line 722 of file Property.h.

Definition at line 743 of file Property.h.

Definition at line 763 of file Property.h.

typedef SimpleProperty< char > CharProperty

Definition at line 703 of file Property.h.

Definition at line 723 of file Property.h.

Definition at line 755 of file Property.h.

Definition at line 775 of file Property.h.

typedef SimpleProperty< double > DoubleProperty

Definition at line 715 of file Property.h.

Definition at line 735 of file Property.h.

Definition at line 754 of file Property.h.

Definition at line 774 of file Property.h.

typedef SimpleProperty< float > FloatProperty

Definition at line 714 of file Property.h.

Definition at line 734 of file Property.h.

Definition at line 748 of file Property.h.

Definition at line 768 of file Property.h.

Definition at line 708 of file Property.h.

Definition at line 728 of file Property.h.

Definition at line 750 of file Property.h.

Definition at line 770 of file Property.h.

Definition at line 756 of file Property.h.

Definition at line 776 of file Property.h.

typedef SimpleProperty< long double > LongDoubleProperty

Definition at line 716 of file Property.h.

typedef SimplePropertyRef< long double > LongDoublePropertyRef

Definition at line 736 of file Property.h.

Definition at line 752 of file Property.h.

Definition at line 772 of file Property.h.

typedef SimpleProperty< long long> LongLongProperty

Definition at line 712 of file Property.h.

typedef SimplePropertyRef< long long > LongLongPropertyRef

Definition at line 732 of file Property.h.

typedef SimpleProperty< long > LongProperty

Definition at line 710 of file Property.h.

Definition at line 730 of file Property.h.

Definition at line 746 of file Property.h.

Definition at line 766 of file Property.h.

typedef SimpleProperty< short > ShortProperty

Definition at line 706 of file Property.h.

Definition at line 726 of file Property.h.

Definition at line 744 of file Property.h.

Definition at line 764 of file Property.h.

typedef SimpleProperty< signed char > SignedCharProperty

Definition at line 704 of file Property.h.

typedef SimplePropertyRef< signed char > SignedCharPropertyRef

Definition at line 724 of file Property.h.

Definition at line 758 of file Property.h.

Definition at line 718 of file Property.h.

Definition at line 738 of file Property.h.

Definition at line 745 of file Property.h.

Definition at line 765 of file Property.h.

typedef SimpleProperty< unsigned char > UnsignedCharProperty

Definition at line 705 of file Property.h.

typedef SimplePropertyRef< unsigned char > UnsignedCharPropertyRef

Definition at line 725 of file Property.h.

Definition at line 749 of file Property.h.

Definition at line 769 of file Property.h.

typedef SimpleProperty< unsigned int > UnsignedIntegerProperty

Definition at line 709 of file Property.h.

Definition at line 729 of file Property.h.

Definition at line 751 of file Property.h.

Definition at line 771 of file Property.h.

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

Definition at line 753 of file Property.h.

Definition at line 773 of file Property.h.

typedef SimpleProperty< unsigned long long> UnsignedLongLongProperty

Definition at line 713 of file Property.h.

typedef SimplePropertyRef< unsigned long long > UnsignedLongLongPropertyRef

Definition at line 733 of file Property.h.

typedef SimpleProperty< unsigned long > UnsignedLongProperty

Definition at line 711 of file Property.h.

typedef SimplePropertyRef< unsigned long > UnsignedLongPropertyRef

Definition at line 731 of file Property.h.

Definition at line 747 of file Property.h.

Definition at line 767 of file Property.h.

typedef SimpleProperty< unsigned short > UnsignedShortProperty

Definition at line 707 of file Property.h.

typedef SimplePropertyRef< unsigned short > UnsignedShortPropertyRef

Definition at line 727 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 32 of file Property.cpp.

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