![]() |
The Gaudi Framework
v31r0 (aeb156f0)
|
PropertyBase base class allowing PropertyBase* collections to be "homogeneous". More...
#include <GaudiKernel/Property.h>


Public Member Functions | |
| const std::string | name () const |
| property name More... | |
| std::string | documentation () const |
| property documentation More... | |
| const std::type_info * | type_info () const |
| property type-info More... | |
| std::string | type () const |
| property type More... | |
| virtual bool | load (PropertyBase &dest) const =0 |
| export the property value to the destination More... | |
| virtual bool | assign (const PropertyBase &source)=0 |
| import the property value form the source More... | |
| virtual std::string | toString () const =0 |
| value -> string More... | |
| virtual void | toStream (std::ostream &out) const =0 |
| value -> stream More... | |
| virtual StatusCode | fromString (const std::string &value)=0 |
| string -> value More... | |
| virtual PropertyBase & | declareReadHandler (std::function< void(PropertyBase &)> fun)=0 |
| set new callback for reading More... | |
| virtual PropertyBase & | declareUpdateHandler (std::function< void(PropertyBase &)> fun)=0 |
| set new callback for update More... | |
| virtual const std::function< void(PropertyBase &)> | readCallBack () const =0 |
| get a reference to the readCallBack More... | |
| virtual const std::function< void(PropertyBase &)> | updateCallBack () const =0 |
| get a reference to the updateCallBack More... | |
| virtual bool | useUpdateHandler ()=0 |
| manual trigger for callback for update More... | |
| template<class HT > | |
| PropertyBase & | declareReadHandler (void(HT::*MF)(PropertyBase &), HT *instance) |
| template<class HT > | |
| PropertyBase & | declareUpdateHandler (void(HT::*MF)(PropertyBase &), HT *instance) |
| virtual | ~PropertyBase ()=default |
| virtual destructor More... | |
| void | setName (std::string value) |
| set the new value for the property name More... | |
| void | setDocumentation (std::string value) |
| set the documentation string More... | |
| virtual std::ostream & | fillStream (std::ostream &) const |
| the printout of the property value More... | |
| virtual PropertyBase * | clone () const =0 |
| clones the current property More... | |
| void | setOwnerType (const std::type_info &ownerType) |
| set the type of the owner class (used for documentation) More... | |
| template<class OWNER > | |
| void | setOwnerType () |
| set the type of the owner class (used for documentation) More... | |
| const std::type_info * | ownerType () const |
| get the type of the owner class (used for documentation) More... | |
| std::string | ownerTypeName () const |
| get the string for the type of the owner class (used for documentation) More... | |
Protected Member Functions | |
| PropertyBase (const std::type_info &type, std::string name="", std::string doc="") | |
| constructor from the property name and the type More... | |
| PropertyBase (std::string name, const std::type_info &type) | |
| constructor from the property name and the type More... | |
| PropertyBase (const PropertyBase &)=default | |
| copy constructor More... | |
| PropertyBase & | operator= (const PropertyBase &)=default |
| assignment operator More... | |
Static Private Member Functions | |
| static boost::string_ref | to_view (std::string str) |
| helper to map a string to a reliable boost::string_ref More... | |
Private Attributes | |
| boost::string_ref | m_name |
| property name More... | |
| boost::string_ref | m_documentation |
| property doc string More... | |
| const std::type_info * | m_typeinfo |
| property type More... | |
| const std::type_info * | m_ownerType = nullptr |
| type of owner of the property (if defined) More... | |
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition at line 32 of file Property.h.
|
virtualdefault |
virtual destructor
|
inlineprotected |
constructor from the property name and the type
Definition at line 111 of file Property.h.
|
inlineprotected |
constructor from the property name and the type
Definition at line 116 of file Property.h.
|
protecteddefault |
copy constructor
|
pure virtual |
import the property value form the source
Implemented in Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, and Gaudi::Property< vector< std::string > >.
|
pure virtual |
clones the current property
Implemented in GaudiHandleArrayProperty, GaudiHandleProperty, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >, and DataObjectHandleProperty.
|
pure virtual |
set new callback for reading
Implemented in Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, and Gaudi::Property< vector< std::string > >.
|
inline |
Definition at line 71 of file Property.h.
|
pure virtual |
set new callback for update
Implemented in Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, and Gaudi::Property< vector< std::string > >.
|
inline |
Definition at line 76 of file Property.h.
|
inline |
property documentation
Definition at line 38 of file Property.h.
|
virtual |
the printout of the property value
Definition at line 49 of file Property.cpp.
|
pure virtual |
string -> value
Implemented in GaudiHandleArrayProperty, GaudiHandleProperty, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >, and DataObjectHandleProperty.
|
pure virtual |
export the property value to the destination
Implemented in Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, and Gaudi::Property< vector< std::string > >.
|
inline |
property name
Definition at line 36 of file Property.h.
|
protecteddefault |
assignment operator
|
inline |
get the type of the owner class (used for documentation)
Definition at line 102 of file Property.h.
|
inline |
get the string for the type of the owner class (used for documentation)
Definition at line 105 of file Property.h.
|
pure virtual |
get a reference to the readCallBack
Implemented in PropertyWithHandlers< Handler >, PropertyWithHandlers<>, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, and Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >.
|
inline |
set the documentation string
Definition at line 86 of file Property.h.
|
inline |
set the new value for the property name
Definition at line 84 of file Property.h.
|
inline |
set the type of the owner class (used for documentation)
Definition at line 93 of file Property.h.
|
inline |
set the type of the owner class (used for documentation)
Definition at line 97 of file Property.h.
|
staticprivate |
helper to map a string to a reliable boost::string_ref
Definition at line 42 of file Property.cpp.
|
pure virtual |
value -> stream
Implemented in GaudiHandleArrayProperty, GaudiHandleProperty, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >, and DataObjectHandleProperty.
|
pure virtual |
value -> string
Implemented in GaudiHandleArrayProperty, GaudiHandleProperty, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >, and DataObjectHandleProperty.
|
inline |
property type
Definition at line 42 of file Property.h.
|
inline |
property type-info
Definition at line 40 of file Property.h.
|
pure virtual |
get a reference to the updateCallBack
Implemented in PropertyWithHandlers< Handler >, PropertyWithHandlers<>, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, and Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >.
|
pure virtual |
manual trigger for callback for update
Implemented in PropertyWithHandlers< Handler >, PropertyWithHandlers<>, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, Gaudi::Property< long >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::string::size_type >, Gaudi::Property< map< std::string, std::string > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< double >, Gaudi::Property< std::map >, Gaudi::Property< unsigned long long >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::string >, Gaudi::Property< float >, Gaudi::Property< std::unordered_set >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< CLID >, Gaudi::Property< GaudiAlg::ID::NumericID >, Gaudi::Property< size_t >, Gaudi::Property< bool >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< vector< std::string > >, and Gaudi::Property< TYPE[N], VERIFIER, HANDLERS >.
|
private |
property doc string
Definition at line 129 of file Property.h.
|
private |
property name
Definition at line 127 of file Property.h.
|
private |
type of owner of the property (if defined)
Definition at line 133 of file Property.h.
|
private |
property type
Definition at line 131 of file Property.h.