The Gaudi Framework  v30r3 (a5ef0a68)
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::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

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 816 of file Property.h.

Definition at line 835 of file Property.h.

Definition at line 778 of file Property.h.

Definition at line 797 of file Property.h.

Definition at line 817 of file Property.h.

Definition at line 836 of file Property.h.

Definition at line 779 of file Property.h.

Definition at line 798 of file Property.h.

Definition at line 829 of file Property.h.

Definition at line 848 of file Property.h.

Definition at line 791 of file Property.h.

Definition at line 810 of file Property.h.

Definition at line 828 of file Property.h.

Definition at line 847 of file Property.h.

Definition at line 790 of file Property.h.

Definition at line 809 of file Property.h.

Definition at line 822 of file Property.h.

Definition at line 841 of file Property.h.

Definition at line 784 of file Property.h.

Definition at line 803 of file Property.h.

Definition at line 824 of file Property.h.

Definition at line 843 of file Property.h.

Definition at line 830 of file Property.h.

Definition at line 849 of file Property.h.

typedef Gaudi::Property<long double> LongDoubleProperty

Definition at line 792 of file Property.h.

typedef Gaudi::Property<long double&> LongDoublePropertyRef

Definition at line 811 of file Property.h.

Definition at line 826 of file Property.h.

Definition at line 845 of file Property.h.

typedef Gaudi::Property<long long> LongLongProperty

Definition at line 788 of file Property.h.

typedef Gaudi::Property<long long&> LongLongPropertyRef

Definition at line 807 of file Property.h.

Definition at line 786 of file Property.h.

Definition at line 805 of file Property.h.

Definition at line 820 of file Property.h.

Definition at line 839 of file Property.h.

Definition at line 782 of file Property.h.

Definition at line 801 of file Property.h.

Definition at line 818 of file Property.h.

Definition at line 837 of file Property.h.

typedef Gaudi::Property<signed char> SignedCharProperty

Definition at line 780 of file Property.h.

typedef Gaudi::Property<signed char&> SignedCharPropertyRef

Definition at line 799 of file Property.h.

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

Definition at line 772 of file Property.h.

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

Definition at line 775 of file Property.h.

Definition at line 832 of file Property.h.

Definition at line 794 of file Property.h.

Definition at line 813 of file Property.h.

Definition at line 819 of file Property.h.

Definition at line 838 of file Property.h.

typedef Gaudi::Property<unsigned char> UnsignedCharProperty

Definition at line 781 of file Property.h.

typedef Gaudi::Property<unsigned char&> UnsignedCharPropertyRef

Definition at line 800 of file Property.h.

Definition at line 823 of file Property.h.

Definition at line 842 of file Property.h.

Definition at line 785 of file Property.h.

Definition at line 804 of file Property.h.

Definition at line 825 of file Property.h.

Definition at line 844 of file Property.h.

Definition at line 827 of file Property.h.

Definition at line 846 of file Property.h.

typedef Gaudi::Property<unsigned long long> UnsignedLongLongProperty

Definition at line 789 of file Property.h.

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

Definition at line 808 of file Property.h.

typedef Gaudi::Property<unsigned long> UnsignedLongProperty

Definition at line 787 of file Property.h.

typedef Gaudi::Property<unsigned long&> UnsignedLongPropertyRef

Definition at line 806 of file Property.h.

Definition at line 821 of file Property.h.

Definition at line 840 of file Property.h.

typedef Gaudi::Property<unsigned short> UnsignedShortProperty

Definition at line 783 of file Property.h.

typedef Gaudi::Property<unsigned short&> UnsignedShortPropertyRef

Definition at line 802 of file Property.h.