The Gaudi Framework
v30r3 (a5ef0a68)
|
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... | |
Private Member Functions | |
PropertyBase ()=delete | |
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.
|
privatedelete |
|
virtualdefault |
virtual destructor
|
inlineprotected |
constructor from the property name and the type
Definition at line 119 of file Property.h.
|
inlineprotected |
constructor from the property name and the type
Definition at line 124 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 75 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 81 of file Property.h.
|
inline |
property documentation
Definition at line 42 of file Property.h.
|
virtual |
the printout of the property value
Definition at line 52 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 40 of file Property.h.
|
protecteddefault |
assignment operator
|
inline |
get the type of the owner class (used for documentation)
Definition at line 109 of file Property.h.
|
inline |
get the string for the type of the owner class (used for documentation)
Definition at line 112 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 92 of file Property.h.
|
inline |
set the new value for the property name
Definition at line 90 of file Property.h.
|
inline |
set the type of the owner class (used for documentation)
Definition at line 99 of file Property.h.
|
inline |
set the type of the owner class (used for documentation)
Definition at line 103 of file Property.h.
|
staticprivate |
helper to map a string to a reliable boost::string_ref
Definition at line 44 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 46 of file Property.h.
|
inline |
property type-info
Definition at line 44 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 139 of file Property.h.
|
private |
property name
Definition at line 137 of file Property.h.
|
private |
type of owner of the property (if defined)
Definition at line 143 of file Property.h.
|
private |
property type
Definition at line 141 of file Property.h.