The Gaudi Framework  v29r0 (ff2e7097)
Property.h File Reference
#include <boost/utility/string_ref.hpp>
#include <stdexcept>
#include <string>
#include <typeinfo>
#include "GaudiKernel/IProperty.h"
#include "GaudiKernel/Kernel.h"
#include "GaudiKernel/Parsers.h"
#include "GaudiKernel/PropertyFwd.h"
#include "GaudiKernel/SmartIF.h"
#include "GaudiKernel/ToStream.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  Gaudi::Details::PropertyBase
 PropertyBase base class allowing PropertyBase* collections to be "homogeneous". More...
 
struct  Gaudi::Details::Property::StringConverter< TYPE >
 
struct  Gaudi::Details::Property::NullVerifier
 
struct  Gaudi::Details::Property::BoundedVerifier< TYPE >
 
struct  Gaudi::Details::Property::SwapCall
 helper to disable a while triggering it, to avoid infinite recursion More...
 
struct  Gaudi::Details::Property::NoHandler
 
struct  Gaudi::Details::Property::ReadHandler
 
struct  Gaudi::Details::Property::UpdateHandler
 
struct  Gaudi::Details::Property::ReadUpdateHandler
 
class  Gaudi::Property< TYPE, VERIFIER, HANDLERS >
 Implementation of property with value of concrete type. More...
 
class  PropertyWithHandlers< Handler >
 Helper class to simplify the migration old properties deriving directly from PropertyBase. More...
 
class  GaudiHandleProperty
 
class  GaudiHandleArrayProperty
 

Namespaces

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

Typedefs

template<class TYPE >
using SimpleProperty = Gaudi::Property< TYPE >
 
template<class TYPE >
using SimplePropertyRef = Gaudi::Property< TYPE & >
 
typedef Gaudi::Property< bool > BooleanProperty
 
typedef Gaudi::Property< char > CharProperty
 
typedef Gaudi::Property< signed char > SignedCharProperty
 
typedef Gaudi::Property< unsigned char > UnsignedCharProperty
 
typedef Gaudi::Property< short > ShortProperty
 
typedef Gaudi::Property< unsigned short > UnsignedShortProperty
 
typedef Gaudi::Property< int > IntegerProperty
 
typedef Gaudi::Property< unsigned int > UnsignedIntegerProperty
 
typedef Gaudi::Property< long > LongProperty
 
typedef Gaudi::Property< unsigned long > UnsignedLongProperty
 
typedef Gaudi::Property< long long > LongLongProperty
 
typedef Gaudi::Property< unsigned long long > UnsignedLongLongProperty
 
typedef Gaudi::Property< float > FloatProperty
 
typedef Gaudi::Property< double > DoubleProperty
 
typedef Gaudi::Property< long double > LongDoubleProperty
 
typedef Gaudi::Property< std::stringStringProperty
 
typedef Gaudi::Property< bool & > BooleanPropertyRef
 
typedef Gaudi::Property< char & > CharPropertyRef
 
typedef Gaudi::Property< signed char & > SignedCharPropertyRef
 
typedef Gaudi::Property< unsigned char & > UnsignedCharPropertyRef
 
typedef Gaudi::Property< short & > ShortPropertyRef
 
typedef Gaudi::Property< unsigned short & > UnsignedShortPropertyRef
 
typedef Gaudi::Property< int & > IntegerPropertyRef
 
typedef Gaudi::Property< unsigned int & > UnsignedIntegerPropertyRef
 
typedef Gaudi::Property< long & > LongPropertyRef
 
typedef Gaudi::Property< unsigned long & > UnsignedLongPropertyRef
 
typedef Gaudi::Property< long long & > LongLongPropertyRef
 
typedef Gaudi::Property< unsigned long long & > UnsignedLongLongPropertyRef
 
typedef Gaudi::Property< float & > FloatPropertyRef
 
typedef Gaudi::Property< double & > DoublePropertyRef
 
typedef Gaudi::Property< long double & > LongDoublePropertyRef
 
typedef Gaudi::Property< std::string & > StringPropertyRef
 
typedef Gaudi::Property< std::vector< bool > > BooleanArrayProperty
 
typedef Gaudi::Property< std::vector< char > > CharArrayProperty
 
typedef Gaudi::Property< std::vector< signed char > > SignedCharArrayProperty
 
typedef Gaudi::Property< std::vector< unsigned char > > UnsignedCharArrayProperty
 
typedef Gaudi::Property< std::vector< short > > ShortArrayProperty
 
typedef Gaudi::Property< std::vector< unsigned short > > UnsignedShortArrayProperty
 
typedef Gaudi::Property< std::vector< int > > IntegerArrayProperty
 
typedef Gaudi::Property< std::vector< unsigned int > > UnsignedIntegerArrayProperty
 
typedef Gaudi::Property< std::vector< long > > LongArrayProperty
 
typedef Gaudi::Property< std::vector< unsigned long > > UnsignedLongArrayProperty
 
typedef Gaudi::Property< std::vector< long long > > LongLongArrayProperty
 
typedef Gaudi::Property< std::vector< unsigned long long > > UnsignedLongLongArrayProperty
 
typedef Gaudi::Property< std::vector< float > > FloatArrayProperty
 
typedef Gaudi::Property< std::vector< double > > DoubleArrayProperty
 
typedef Gaudi::Property< std::vector< long double > > LongDoubleArrayProperty
 
typedef Gaudi::Property< std::vector< std::string > > StringArrayProperty
 
typedef Gaudi::Property< std::vector< bool > & > BooleanArrayPropertyRef
 
typedef Gaudi::Property< std::vector< char > & > CharArrayPropertyRef
 
typedef Gaudi::Property< std::vector< signed char > & > SignedCharArrayPropertyRef
 
typedef Gaudi::Property< std::vector< unsigned char > & > UnsignedCharArrayPropertyRef
 
typedef Gaudi::Property< std::vector< short > & > ShortArrayPropertyRef
 
typedef Gaudi::Property< std::vector< unsigned short > & > UnsignedShortArrayPropertyRef
 
typedef Gaudi::Property< std::vector< int > & > IntegerArrayPropertyRef
 
typedef Gaudi::Property< std::vector< unsigned int > & > UnsignedIntegerArrayPropertyRef
 
typedef Gaudi::Property< std::vector< long > & > LongArrayPropertyRef
 
typedef Gaudi::Property< std::vector< unsigned long > & > UnsignedLongArrayPropertyRef
 
typedef Gaudi::Property< std::vector< long long > & > LongLongArrayPropertyRef
 
typedef Gaudi::Property< std::vector< unsigned long long > & > UnsignedLongLongArrayPropertyRef
 
typedef Gaudi::Property< std::vector< float > & > FloatArrayPropertyRef
 
typedef Gaudi::Property< std::vector< double > & > DoubleArrayPropertyRef
 
typedef Gaudi::Property< std::vector< long double > & > LongDoubleArrayPropertyRef
 
typedef Gaudi::Property< std::vector< std::string > & > StringArrayPropertyRef
 

Functions

std::ostreamGaudi::Details::operator<< (std::ostream &stream, const PropertyBase &prop)
 
template<class T , class TP , class V , class H >
bool Gaudi::operator== (const T &v, const Property< TP, V, H > &p)
 delegate (value == property) to property operator== More...
 
template<class T , class TP , class V , class H >
bool Gaudi::operator!= (const T &v, const Property< TP, V, H > &p)
 delegate (value != property) to property operator!= More...
 
template<class T , class TP , class V , class H >
decltype(std::declval< TP >()+std::declval< T >()) Gaudi::operator+ (const T &v, const Property< TP, V, H > &p)
 implemantation of (value + property) 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 Gaudi::Details::PropertyBaseGaudi::Utils::getProperty (const IProperty *p, const std::string &name)
 simple function which gets the property with given name from the component More...
 
GAUDI_API Gaudi::Details::PropertyBaseGaudi::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 Gaudi::Details::PropertyBase * > *p, const std::string &name)
 check the property by name from the list of the properties More...
 
GAUDI_API const Gaudi::Details::PropertyBaseGaudi::Utils::getProperty (const std::vector< const Gaudi::Details::PropertyBase * > *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 Gaudi::Details::PropertyBase *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 Gaudi::Details::PropertyBase &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 Gaudi::Property< 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 Gaudi::Details::PropertyBase *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 Gaudi::Details::PropertyBase &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 Gaudi::Property< 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 746 of file Property.h.

Definition at line 765 of file Property.h.

Definition at line 708 of file Property.h.

Definition at line 727 of file Property.h.

Definition at line 747 of file Property.h.

Definition at line 766 of file Property.h.

Definition at line 709 of file Property.h.

Definition at line 728 of file Property.h.

Definition at line 759 of file Property.h.

Definition at line 778 of file Property.h.

Definition at line 721 of file Property.h.

Definition at line 740 of file Property.h.

Definition at line 758 of file Property.h.

Definition at line 777 of file Property.h.

Definition at line 720 of file Property.h.

Definition at line 739 of file Property.h.

Definition at line 752 of file Property.h.

Definition at line 771 of file Property.h.

Definition at line 714 of file Property.h.

Definition at line 733 of file Property.h.

Definition at line 754 of file Property.h.

Definition at line 773 of file Property.h.

Definition at line 760 of file Property.h.

Definition at line 779 of file Property.h.

typedef Gaudi::Property<long double> LongDoubleProperty

Definition at line 722 of file Property.h.

typedef Gaudi::Property<long double&> LongDoublePropertyRef

Definition at line 741 of file Property.h.

Definition at line 756 of file Property.h.

Definition at line 775 of file Property.h.

typedef Gaudi::Property<long long> LongLongProperty

Definition at line 718 of file Property.h.

typedef Gaudi::Property<long long&> LongLongPropertyRef

Definition at line 737 of file Property.h.

Definition at line 716 of file Property.h.

Definition at line 735 of file Property.h.

Definition at line 750 of file Property.h.

Definition at line 769 of file Property.h.

Definition at line 712 of file Property.h.

Definition at line 731 of file Property.h.

Definition at line 748 of file Property.h.

Definition at line 767 of file Property.h.

typedef Gaudi::Property<signed char> SignedCharProperty

Definition at line 710 of file Property.h.

typedef Gaudi::Property<signed char&> SignedCharPropertyRef

Definition at line 729 of file Property.h.

template<class TYPE >
using SimpleProperty = Gaudi::Property<TYPE>

Definition at line 702 of file Property.h.

template<class TYPE >
using SimplePropertyRef = Gaudi::Property<TYPE&>

Definition at line 705 of file Property.h.

Definition at line 762 of file Property.h.

Definition at line 724 of file Property.h.

Definition at line 743 of file Property.h.

Definition at line 749 of file Property.h.

Definition at line 768 of file Property.h.

typedef Gaudi::Property<unsigned char> UnsignedCharProperty

Definition at line 711 of file Property.h.

typedef Gaudi::Property<unsigned char&> UnsignedCharPropertyRef

Definition at line 730 of file Property.h.

Definition at line 753 of file Property.h.

Definition at line 772 of file Property.h.

Definition at line 715 of file Property.h.

Definition at line 734 of file Property.h.

Definition at line 755 of file Property.h.

Definition at line 774 of file Property.h.

Definition at line 757 of file Property.h.

Definition at line 776 of file Property.h.

typedef Gaudi::Property<unsigned long long> UnsignedLongLongProperty

Definition at line 719 of file Property.h.

typedef Gaudi::Property<unsigned long long&> UnsignedLongLongPropertyRef

Definition at line 738 of file Property.h.

typedef Gaudi::Property<unsigned long> UnsignedLongProperty

Definition at line 717 of file Property.h.

typedef Gaudi::Property<unsigned long&> UnsignedLongPropertyRef

Definition at line 736 of file Property.h.

Definition at line 751 of file Property.h.

Definition at line 770 of file Property.h.

typedef Gaudi::Property<unsigned short> UnsignedShortProperty

Definition at line 713 of file Property.h.

typedef Gaudi::Property<unsigned short&> UnsignedShortPropertyRef

Definition at line 732 of file Property.h.