The Gaudi Framework  v30r4 (9b837755)
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/PropertyFwd.h"
#include "GaudiKernel/SmartIF.h"
#include "GaudiKernel/TaggedBool.h"
#include "GaudiKernel/ToStream.h"
#include <Gaudi/Parsers/CommonParsers.h>
#include <Gaudi/Parsers/InputData.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::DefaultStringConverterImpl< TYPE >
 
struct  Gaudi::Details::Property::DefaultStringConverter< TYPE, Enable >
 
struct  Gaudi::Details::Property::DefaultStringConverter< TYPE, std::enable_if_t< std::is_default_constructible< TYPE >::value > >
 
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

using Gaudi::Details::Property::ImmediatelyInvokeHandler = Gaudi::tagged_bool< class ImmediatelyInvokeHandler_tag >
 
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(auto) 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 878 of file Property.h.

Definition at line 897 of file Property.h.

Definition at line 840 of file Property.h.

Definition at line 859 of file Property.h.

Definition at line 879 of file Property.h.

Definition at line 898 of file Property.h.

Definition at line 841 of file Property.h.

Definition at line 860 of file Property.h.

Definition at line 891 of file Property.h.

Definition at line 910 of file Property.h.

Definition at line 853 of file Property.h.

Definition at line 872 of file Property.h.

Definition at line 890 of file Property.h.

Definition at line 909 of file Property.h.

Definition at line 852 of file Property.h.

Definition at line 871 of file Property.h.

Definition at line 884 of file Property.h.

Definition at line 903 of file Property.h.

Definition at line 846 of file Property.h.

Definition at line 865 of file Property.h.

Definition at line 886 of file Property.h.

Definition at line 905 of file Property.h.

Definition at line 892 of file Property.h.

Definition at line 911 of file Property.h.

typedef Gaudi::Property<long double> LongDoubleProperty

Definition at line 854 of file Property.h.

typedef Gaudi::Property<long double&> LongDoublePropertyRef

Definition at line 873 of file Property.h.

Definition at line 888 of file Property.h.

Definition at line 907 of file Property.h.

typedef Gaudi::Property<long long> LongLongProperty

Definition at line 850 of file Property.h.

typedef Gaudi::Property<long long&> LongLongPropertyRef

Definition at line 869 of file Property.h.

Definition at line 848 of file Property.h.

Definition at line 867 of file Property.h.

Definition at line 882 of file Property.h.

Definition at line 901 of file Property.h.

Definition at line 844 of file Property.h.

Definition at line 863 of file Property.h.

Definition at line 880 of file Property.h.

Definition at line 899 of file Property.h.

typedef Gaudi::Property<signed char> SignedCharProperty

Definition at line 842 of file Property.h.

typedef Gaudi::Property<signed char&> SignedCharPropertyRef

Definition at line 861 of file Property.h.

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

Definition at line 834 of file Property.h.

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

Definition at line 837 of file Property.h.

Definition at line 894 of file Property.h.

Definition at line 856 of file Property.h.

Definition at line 875 of file Property.h.

Definition at line 881 of file Property.h.

Definition at line 900 of file Property.h.

typedef Gaudi::Property<unsigned char> UnsignedCharProperty

Definition at line 843 of file Property.h.

typedef Gaudi::Property<unsigned char&> UnsignedCharPropertyRef

Definition at line 862 of file Property.h.

Definition at line 885 of file Property.h.

Definition at line 904 of file Property.h.

Definition at line 847 of file Property.h.

Definition at line 866 of file Property.h.

Definition at line 887 of file Property.h.

Definition at line 906 of file Property.h.

Definition at line 889 of file Property.h.

Definition at line 908 of file Property.h.

typedef Gaudi::Property<unsigned long long> UnsignedLongLongProperty

Definition at line 851 of file Property.h.

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

Definition at line 870 of file Property.h.

typedef Gaudi::Property<unsigned long> UnsignedLongProperty

Definition at line 849 of file Property.h.

typedef Gaudi::Property<unsigned long&> UnsignedLongPropertyRef

Definition at line 868 of file Property.h.

Definition at line 883 of file Property.h.

Definition at line 902 of file Property.h.

typedef Gaudi::Property<unsigned short> UnsignedShortProperty

Definition at line 845 of file Property.h.

typedef Gaudi::Property<unsigned short&> UnsignedShortPropertyRef

Definition at line 864 of file Property.h.