PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
More...
#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Details/PropertyBase.h>
Inherited by Gaudi::Property< GaudiUtils::HashMap< std::string, T > >, Gaudi::Property< TYPE >, Gaudi::Property< TYPE & >, Gaudi::Property< bool >, Gaudi::Property< char >, Gaudi::Property< signed char >, Gaudi::Property< unsigned char >, Gaudi::Property< short >, Gaudi::Property< unsigned short >, Gaudi::Property< int >, Gaudi::Property< unsigned int >, Gaudi::Property< long >, Gaudi::Property< unsigned long >, Gaudi::Property< long long >, Gaudi::Property< unsigned long long >, Gaudi::Property< float >, Gaudi::Property< double >, Gaudi::Property< long double >, Gaudi::Property< std::string >, Gaudi::Property< bool & >, Gaudi::Property< char & >, Gaudi::Property< signed char & >, Gaudi::Property< unsigned char & >, Gaudi::Property< short & >, Gaudi::Property< unsigned short & >, Gaudi::Property< int & >, Gaudi::Property< unsigned int & >, Gaudi::Property< long & >, Gaudi::Property< unsigned long & >, Gaudi::Property< long long & >, Gaudi::Property< unsigned long long & >, Gaudi::Property< float & >, Gaudi::Property< double & >, Gaudi::Property< long double & >, Gaudi::Property< std::string & >, Gaudi::Property< std::vector< bool > >, Gaudi::Property< std::vector< char > >, Gaudi::Property< std::vector< signed char > >, Gaudi::Property< std::vector< unsigned char > >, Gaudi::Property< std::vector< short > >, Gaudi::Property< std::vector< unsigned short > >, Gaudi::Property< std::vector< int > >, Gaudi::Property< std::vector< unsigned int > >, Gaudi::Property< std::vector< long > >, Gaudi::Property< std::vector< unsigned long > >, Gaudi::Property< std::vector< long long > >, Gaudi::Property< std::vector< unsigned long long > >, Gaudi::Property< std::vector< float > >, Gaudi::Property< std::vector< double > >, Gaudi::Property< std::vector< long double > >, Gaudi::Property< std::vector< std::string > >, Gaudi::Property< std::vector< bool > & >, Gaudi::Property< std::vector< char > & >, Gaudi::Property< std::vector< signed char > & >, Gaudi::Property< std::vector< unsigned char > & >, Gaudi::Property< std::vector< short > & >, Gaudi::Property< std::vector< unsigned short > & >, Gaudi::Property< std::vector< int > & >, Gaudi::Property< std::vector< unsigned int > & >, Gaudi::Property< std::vector< long > & >, Gaudi::Property< std::vector< unsigned long > & >, Gaudi::Property< std::vector< long long > & >, Gaudi::Property< std::vector< unsigned long long > & >, Gaudi::Property< std::vector< float > & >, Gaudi::Property< std::vector< double > & >, Gaudi::Property< std::vector< long double > & >, Gaudi::Property< std::vector< std::string > & >, Gaudi::Property< Gaudi::Histo1DDef >, Gaudi::Property< Gaudi::Histo1DDef & >, Gaudi::Property< DataObjIDColl >, Gaudi::Property< std::map< std::string, std::string > >, Gaudi::Property< Setup >, Gaudi::Property< Map >, Gaudi::Property< CLID >, Gaudi::Property< StreamSpecs >, Gaudi::Property< size_t >, Gaudi::Property< std::size_t >, Gaudi::Property< std::pair< double, double > >, Gaudi::Property< std::vector< std::pair< double, double > > >, Gaudi::Property< std::vector< std::vector< std::string > > >, Gaudi::Property< std::vector< std::vector< double > > >, Gaudi::Property< std::map< int, double > >, Gaudi::Property< std::map< std::string, int > >, Gaudi::Property< std::map< std::string, double > >, Gaudi::Property< std::map< std::string, std::vector< std::string > > >, Gaudi::Property< std::pair< int, int > >, Gaudi::Property< std::map< std::string, std::vector< double > > >, Gaudi::Property< std::map< std::string, std::vector< int > > >, Gaudi::Property< std::map< int, int > >, Gaudi::Property< std::vector< std::pair< int, int > > >, Gaudi::Property< std::map< int, std::string > >, Gaudi::Property< std::map< unsigned int, std::string > >, Gaudi::Property< std::tuple< std::string, int, double > >, Gaudi::Property< std::tuple< std::string > >, Gaudi::Property< std::unordered_set< int > >, Gaudi::Property< std::unordered_set< std::string > >, Gaudi::Property< std::array< double, 3 > >, Gaudi::Property< std::array< int, 1 > >, Gaudi::Property< GaudiUtils::Map< std::string, std::string > >, Gaudi::Property< std::vector< Triplet > >, Gaudi::Property< std::set< Triplet > >, Gaudi::Property< std::unordered_set< Triplet, HashFunction > >, Gaudi::Property< std::tuple< int, VS > >, Gaudi::Property< std::tuple< int, SS > >, Gaudi::Property< std::tuple< int, USS > >, Gaudi::Property< std::vector< DataObjID > >, Gaudi::Property< CatalogNames >, Gaudi::Property< std::array< std::string, sizeof...(OUTPUTs)> >, Gaudi::Property< Files >, Gaudi::Property< Particles >, Gaudi::Property< boost::array< double, 5 > >, Gaudi::Property< boost::array< std::string, 4 > >, Gaudi::Property< ConditionKey >, Gaudi::Property< std::unordered_map< std::string, std::string > >, Gaudi::Property< Gaudi::XYZPoint >, Gaudi::Property< Gaudi::XYZVector >, Gaudi::Property< Gaudi::LorentzVector >, Gaudi::Property< Gaudi::Vector5 >, Gaudi::Property< std::vector< Gaudi::XYZPoint > >, Gaudi::Property< std::vector< Gaudi::XYZVector > >, Gaudi::Property< std::vector< Gaudi::LorentzVector > >, Gaudi::Property< Gaudi::StringKey >, Gaudi::Property< Keys >, Gaudi::Property< DBaseEntries >, Gaudi::Property< Histo1DMap >, Gaudi::Property< uint64_t >, Gaudi::Property< std::vector< std::pair< std::string, std::string > > >, Gaudi::Property< std::map< std::string, std::string, std::less<> > >, Gaudi::Property< PartitionDefs >, Gaudi::Property< ItemNames >, Gaudi::Property< AlgDependentItemNames >, Gaudi::Property< std::set< int > >, Gaudi::Property< std::set< std::string > >, Gaudi::Property< std::unordered_set< float > >, Gaudi::Property< T >, Gaudi::Property< R >, Gaudi::Property< TYPE, VERIFIER, HANDLERS >, and PropertyWithHandlers< Handler >.
|
static std::string_view | to_view (std::string str) |
| helper to map a string to a reliable std::string_view
|
|
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
- Author
- Paul Maley
-
CTDay
-
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
-
Marco Clemencic
◆ ~PropertyBase()
Gaudi::Details::PropertyBase::~PropertyBase |
( |
| ) |
|
|
inlinevirtual |
virtual destructor
Definition at line 218 of file PropertyBase.h.
218 {
220 }
std::set< WeakPropertyRef * > m_weakReferences
◆ PropertyBase() [1/3]
Gaudi::Details::PropertyBase::PropertyBase |
( |
const std::type_info & | type, |
|
|
std::string | name = "", |
|
|
std::string | doc = "", |
|
|
std::string | semantics = "" ) |
|
inlineprotected |
constructor from the property name and the type
Definition at line 117 of file PropertyBase.h.
const std::type_info * m_typeinfo
property type
std::string type() const
property type
std::string_view m_semantics
property semantics
std::string semantics() const
property semantics
std::string_view m_name
property name
std::string_view m_documentation
property doc string
static std::string_view to_view(std::string str)
helper to map a string to a reliable std::string_view
const std::string name() const
property name
◆ PropertyBase() [2/3]
Gaudi::Details::PropertyBase::PropertyBase |
( |
std::string | name, |
|
|
const std::type_info & | type ) |
|
inlineprotected |
constructor from the property name and the type
Definition at line 123 of file PropertyBase.h.
◆ PropertyBase() [3/3]
Gaudi::Details::PropertyBase::PropertyBase |
( |
const PropertyBase & | | ) |
|
|
protecteddefault |
◆ add()
◆ assign()
virtual bool Gaudi::Details::PropertyBase::assign |
( |
const PropertyBase & | source | ) |
|
|
pure virtual |
import the property value form the source
◆ clone()
virtual PropertyBase * Gaudi::Details::PropertyBase::clone |
( |
| ) |
const |
|
pure virtual |
clones the current property
◆ declareReadHandler() [1/2]
set new callback for reading
◆ declareReadHandler() [2/2]
Definition at line 75 of file PropertyBase.h.
75 {
77 }
PropertyBase(const std::type_info &type, std::string name="", std::string doc="", std::string semantics="")
constructor from the property name and the type
virtual PropertyBase & declareReadHandler(std::function< void(PropertyBase &)> fun)=0
set new callback for reading
◆ declareUpdateHandler() [1/2]
set new callback for update
◆ declareUpdateHandler() [2/2]
Definition at line 80 of file PropertyBase.h.
80 {
82 }
virtual PropertyBase & declareUpdateHandler(std::function< void(PropertyBase &)> fun)=0
set new callback for update
◆ documentation()
std::string Gaudi::Details::PropertyBase::documentation |
( |
| ) |
const |
|
inline |
◆ fillStream()
std::ostream & PropertyBase::fillStream |
( |
std::ostream & | stream | ) |
const |
|
virtual |
the printout of the property value
Definition at line 45 of file Property.cpp.
45 {
47}
virtual std::string toString() const =0
value -> string
const std::string name() const
property name
◆ fromString()
virtual StatusCode Gaudi::Details::PropertyBase::fromString |
( |
const std::string & | value | ) |
|
|
pure virtual |
◆ load()
virtual bool Gaudi::Details::PropertyBase::load |
( |
PropertyBase & | dest | ) |
const |
|
pure virtual |
export the property value to the destination
◆ name()
const std::string Gaudi::Details::PropertyBase::name |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ ownerType()
const std::type_info * Gaudi::Details::PropertyBase::ownerType |
( |
| ) |
const |
|
inline |
get the type of the owner class (used for documentation)
Definition at line 108 of file PropertyBase.h.
const std::type_info * m_ownerType
type of owner of the property (if defined)
◆ ownerTypeName()
std::string Gaudi::Details::PropertyBase::ownerTypeName |
( |
| ) |
const |
|
inline |
get the string for the type of the owner class (used for documentation)
Definition at line 111 of file PropertyBase.h.
111 {
113 }
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
◆ readCallBack()
virtual const std::function< void(PropertyBase &)> Gaudi::Details::PropertyBase::readCallBack |
( |
| ) |
const |
|
pure virtual |
get a reference to the readCallBack
◆ remove()
◆ semantics()
std::string Gaudi::Details::PropertyBase::semantics |
( |
| ) |
const |
|
inline |
◆ setDocumentation()
void Gaudi::Details::PropertyBase::setDocumentation |
( |
std::string | value | ) |
|
|
inline |
◆ setName()
void Gaudi::Details::PropertyBase::setName |
( |
std::string | value | ) |
|
|
inline |
set the new value for the property name
Definition at line 88 of file PropertyBase.h.
◆ setOwnerType() [1/2]
void Gaudi::Details::PropertyBase::setOwnerType |
( |
| ) |
|
|
inline |
set the type of the owner class (used for documentation)
Definition at line 103 of file PropertyBase.h.
103 {
105 }
void setOwnerType()
set the type of the owner class (used for documentation)
◆ setOwnerType() [2/2]
void Gaudi::Details::PropertyBase::setOwnerType |
( |
const std::type_info & | ownerType | ) |
|
|
inline |
set the type of the owner class (used for documentation)
Definition at line 99 of file PropertyBase.h.
const std::type_info * ownerType() const
get the type of the owner class (used for documentation)
◆ setSemantics()
void Gaudi::Details::PropertyBase::setSemantics |
( |
std::string | value | ) |
|
|
inline |
◆ to_view()
std::string_view PropertyBase::to_view |
( |
std::string | str | ) |
|
|
staticprivate |
helper to map a string to a reliable std::string_view
Definition at line 41 of file Property.cpp.
41 {
42 return **( all_strings.insert( std::make_unique<std::string>( std::move( str ) ) ).first );
43}
◆ toStream()
virtual void Gaudi::Details::PropertyBase::toStream |
( |
std::ostream & | out | ) |
const |
|
pure virtual |
◆ toString()
virtual std::string Gaudi::Details::PropertyBase::toString |
( |
| ) |
const |
|
pure virtual |
◆ type()
std::string Gaudi::Details::PropertyBase::type |
( |
| ) |
const |
|
inline |
◆ type_info()
const std::type_info * Gaudi::Details::PropertyBase::type_info |
( |
| ) |
const |
|
inline |
◆ updateCallBack()
virtual const std::function< void(PropertyBase &)> Gaudi::Details::PropertyBase::updateCallBack |
( |
| ) |
const |
|
pure virtual |
get a reference to the updateCallBack
◆ useUpdateHandler()
virtual bool Gaudi::Details::PropertyBase::useUpdateHandler |
( |
| ) |
|
|
pure virtual |
manual trigger for callback for update
◆ m_documentation
std::string_view Gaudi::Details::PropertyBase::m_documentation |
|
private |
◆ m_name
std::string_view Gaudi::Details::PropertyBase::m_name |
|
private |
◆ m_ownerType
const std::type_info* Gaudi::Details::PropertyBase::m_ownerType = nullptr |
|
private |
type of owner of the property (if defined)
Definition at line 142 of file PropertyBase.h.
◆ m_semantics
std::string_view Gaudi::Details::PropertyBase::m_semantics |
|
private |
◆ m_typeinfo
const std::type_info* Gaudi::Details::PropertyBase::m_typeinfo |
|
private |
◆ m_weakReferences
◆ WeakPropertyRef
friend Gaudi::Details::PropertyBase::WeakPropertyRef |
|
private |
The documentation for this class was generated from the following files: