21 #include "boost/algorithm/string.hpp" 28 constexpr
struct select1st_t {
29 template <
typename S,
typename T>
33 template <
typename S,
typename T>
42 for (
auto& prop : cur.second )
delete prop;
50 props->push_back( property );
63 props->erase( res.second );
82 return ( result !=
m_catalog.end() ) ? &result->second :
nullptr;
87 return ( result !=
m_catalog.end() ) ? &result->second :
nullptr;
93 return boost::iequals(
name, prop->
name() );
101 return boost::iequals(
name, prop->
name() );
108 for (
const auto& iclient :
m_catalog ) {
109 o <<
"Client '" << iclient.first <<
"'" <<
std::endl;
110 for (
const auto& p : iclient.second ) {
111 if ( p ) o <<
"\t" << ( *p ) <<
std::endl;
122 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