11 #include "boost/algorithm/string.hpp" 18 constexpr
struct select1st_t {
19 template <
typename S,
typename T>
23 template <
typename S,
typename T>
32 for (
auto& prop : cur.second )
delete prop;
40 props->push_back( property );
53 props->erase( res.second );
72 return ( result !=
m_catalog.end() ) ? &result->second :
nullptr;
77 return ( result !=
m_catalog.end() ) ? &result->second :
nullptr;
83 return boost::iequals(
name, prop->
name() );
91 return boost::iequals(
name, prop->
name() );
99 o <<
"Client '" << iclient.first <<
"'" <<
std::endl;
100 for (
const auto& p : iclient.second ) {
101 if ( p ) o <<
"\t" << ( *p ) <<
std::endl;
112 if ( res.first ) {
return *res.second; }
const PropertiesT * findProperties(const std::string &client) const
const PropertiesT * getProperties(const std::string &client) const
const Gaudi::Details::PropertyBase * getProperty(const std::string &client, const std::string &name) const
constexpr static const auto SUCCESS
StatusCode addProperty(const std::string &client, const Gaudi::Details::PropertyBase *property)
std::pair< bool, PropertiesT::const_iterator > findProperty(const PropertiesT &props, const std::string &name) const
const std::string name() const
property name
std::ostream & operator<<(std::ostream &o, const SvcCatalog &c)
printoput operator
StatusCode removeProperty(const std::string &client, const std::string &name)
This class is used for returning status codes from appropriate routines.
std::map< std::string, PropertiesT > m_catalog
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
std::vector< std::string > getClients() const
T back_inserter(T... args)
std::ostream & fillStream(std::ostream &o) const
dump the content of catalog to std::ostream