The Gaudi Framework  master (37c0b60a)
Property.h File Reference
#include <Gaudi/Details/Property.h>
#include <Gaudi/Details/PropertyBase.h>
#include <Gaudi/PropertyFwd.h>
#include <GaudiKernel/IProperty.h>
#include <GaudiKernel/Kernel.h>
#include <GaudiKernel/SmartIF.h>
#include <GaudiKernel/TaggedBool.h>
#include <GaudiKernel/ToStream.h>
#include <string>
#include <string_view>
#include <utility>
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::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
 This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from python with a format liks : ( nbins, min, max, title ) where title can be ommited.
 
 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

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, std::string_view name)
 simple function which check the existence of the property with the given name. More...
 
GAUDI_API bool Gaudi::Utils::hasProperty (const IInterface *p, std::string_view 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, std::string_view name)
 simple function which gets the property with given name from the component More...
 
GAUDI_API Gaudi::Details::PropertyBaseGaudi::Utils::getProperty (const IInterface *p, std::string_view 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, std::string_view 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, std::string_view 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

◆ BooleanArrayProperty

Definition at line 499 of file Property.h.

◆ BooleanArrayPropertyRef

Definition at line 518 of file Property.h.

◆ BooleanProperty

Definition at line 461 of file Property.h.

◆ BooleanPropertyRef

Definition at line 480 of file Property.h.

◆ CharArrayProperty

Definition at line 500 of file Property.h.

◆ CharArrayPropertyRef

Definition at line 519 of file Property.h.

◆ CharProperty

Definition at line 462 of file Property.h.

◆ CharPropertyRef

Definition at line 481 of file Property.h.

◆ DoubleArrayProperty

Definition at line 512 of file Property.h.

◆ DoubleArrayPropertyRef

Definition at line 531 of file Property.h.

◆ DoubleProperty

Definition at line 474 of file Property.h.

◆ DoublePropertyRef

Definition at line 493 of file Property.h.

◆ FloatArrayProperty

Definition at line 511 of file Property.h.

◆ FloatArrayPropertyRef

Definition at line 530 of file Property.h.

◆ FloatProperty

Definition at line 473 of file Property.h.

◆ FloatPropertyRef

Definition at line 492 of file Property.h.

◆ IntegerArrayProperty

Definition at line 505 of file Property.h.

◆ IntegerArrayPropertyRef

Definition at line 524 of file Property.h.

◆ IntegerProperty

Definition at line 467 of file Property.h.

◆ IntegerPropertyRef

Definition at line 486 of file Property.h.

◆ LongArrayProperty

Definition at line 507 of file Property.h.

◆ LongArrayPropertyRef

Definition at line 526 of file Property.h.

◆ LongDoubleArrayProperty

Definition at line 513 of file Property.h.

◆ LongDoubleArrayPropertyRef

Definition at line 532 of file Property.h.

◆ LongDoubleProperty

typedef Gaudi::Property<long double> LongDoubleProperty

Definition at line 475 of file Property.h.

◆ LongDoublePropertyRef

typedef Gaudi::Property<long double&> LongDoublePropertyRef

Definition at line 494 of file Property.h.

◆ LongLongArrayProperty

Definition at line 509 of file Property.h.

◆ LongLongArrayPropertyRef

Definition at line 528 of file Property.h.

◆ LongLongProperty

typedef Gaudi::Property<long long> LongLongProperty

Definition at line 471 of file Property.h.

◆ LongLongPropertyRef

typedef Gaudi::Property<long long&> LongLongPropertyRef

Definition at line 490 of file Property.h.

◆ LongProperty

Definition at line 469 of file Property.h.

◆ LongPropertyRef

Definition at line 488 of file Property.h.

◆ ShortArrayProperty

Definition at line 503 of file Property.h.

◆ ShortArrayPropertyRef

Definition at line 522 of file Property.h.

◆ ShortProperty

Definition at line 465 of file Property.h.

◆ ShortPropertyRef

Definition at line 484 of file Property.h.

◆ SignedCharArrayProperty

Definition at line 501 of file Property.h.

◆ SignedCharArrayPropertyRef

Definition at line 520 of file Property.h.

◆ SignedCharProperty

typedef Gaudi::Property<signed char> SignedCharProperty

Definition at line 463 of file Property.h.

◆ SignedCharPropertyRef

typedef Gaudi::Property<signed char&> SignedCharPropertyRef

Definition at line 482 of file Property.h.

◆ SimpleProperty

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

Definition at line 455 of file Property.h.

◆ SimplePropertyRef

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

Definition at line 458 of file Property.h.

◆ StringArrayProperty

Definition at line 515 of file Property.h.

◆ StringArrayPropertyRef

◆ StringProperty

Definition at line 477 of file Property.h.

◆ StringPropertyRef

Definition at line 496 of file Property.h.

◆ UnsignedCharArrayProperty

Definition at line 502 of file Property.h.

◆ UnsignedCharArrayPropertyRef

Definition at line 521 of file Property.h.

◆ UnsignedCharProperty

typedef Gaudi::Property<unsigned char> UnsignedCharProperty

Definition at line 464 of file Property.h.

◆ UnsignedCharPropertyRef

typedef Gaudi::Property<unsigned char&> UnsignedCharPropertyRef

Definition at line 483 of file Property.h.

◆ UnsignedIntegerArrayProperty

Definition at line 506 of file Property.h.

◆ UnsignedIntegerArrayPropertyRef

Definition at line 525 of file Property.h.

◆ UnsignedIntegerProperty

Definition at line 468 of file Property.h.

◆ UnsignedIntegerPropertyRef

Definition at line 487 of file Property.h.

◆ UnsignedLongArrayProperty

Definition at line 508 of file Property.h.

◆ UnsignedLongArrayPropertyRef

Definition at line 527 of file Property.h.

◆ UnsignedLongLongArrayProperty

Definition at line 510 of file Property.h.

◆ UnsignedLongLongArrayPropertyRef

Definition at line 529 of file Property.h.

◆ UnsignedLongLongProperty

typedef Gaudi::Property<unsigned long long> UnsignedLongLongProperty

Definition at line 472 of file Property.h.

◆ UnsignedLongLongPropertyRef

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

Definition at line 491 of file Property.h.

◆ UnsignedLongProperty

typedef Gaudi::Property<unsigned long> UnsignedLongProperty

Definition at line 470 of file Property.h.

◆ UnsignedLongPropertyRef

typedef Gaudi::Property<unsigned long&> UnsignedLongPropertyRef

Definition at line 489 of file Property.h.

◆ UnsignedShortArrayProperty

Definition at line 504 of file Property.h.

◆ UnsignedShortArrayPropertyRef

Definition at line 523 of file Property.h.

◆ UnsignedShortProperty

typedef Gaudi::Property<unsigned short> UnsignedShortProperty

Definition at line 466 of file Property.h.

◆ UnsignedShortPropertyRef

typedef Gaudi::Property<unsigned short&> UnsignedShortPropertyRef

Definition at line 485 of file Property.h.