11 #include "boost/algorithm/string.hpp"    19   constexpr 
struct select1st_t {
    20     template <
typename S, 
typename T>
    25     template <
typename S, 
typename T>
    35   for ( 
const auto& cur : m_catalog ) {
    36     for ( 
auto& prop : cur.second ) 
delete prop;
    42   auto props = findProperties( client );
    44     removeProperty( client, property->
name() ).ignore();
    45     props->push_back( property );
    54   auto props = findProperties( client );
    56     auto res = findProperty( *props, name );
    59       props->erase( res.second );
    67   return findProperties( client );
    73   result.
reserve( m_catalog.size() );
    80   auto result = m_catalog.find( client );
    81   return ( result != m_catalog.end() ) ? &result->second : 
nullptr;
    86   auto result = m_catalog.find( client );
    87   return ( result != m_catalog.end() ) ? &result->second : 
nullptr;
    94     return boost::iequals( name, prop->
name() );
   103     return boost::iequals( name, prop->
name() );
   111   for ( 
const auto& iclient : m_catalog ) {
   112     o << 
"Client '" << iclient.first << 
"'" << 
std::endl;
   113     for ( 
const auto& p : iclient.second ) {
   114       if ( p ) o << 
"\t" << ( *p ) << 
std::endl;
   122   auto props = findProperties( client );
   124     const auto res = findProperty( *props, name );
 
const PropertiesT * getProperties(const std::string &client) const 
 
std::ostream & fillStream(std::ostream &o) const 
dump the content of catalog to std::ostream 
 
const std::string name() const 
property name 
 
Gaudi::Details::PropertyBase * property(const std::string &name) const 
 
StatusCode addProperty(const std::string &client, const Gaudi::Details::PropertyBase *property)
 
std::ostream & operator<<(std::ostream &o, const SvcCatalog &c)
printoput operator 
 
StatusCode removeProperty(const std::string &client, const std::string &name)
 
std::vector< std::string > getClients() const 
 
const PropertiesT * findProperties(const std::string &client) const 
 
This class is used for returning status codes from appropriate routines. 
 
std::pair< bool, PropertiesT::const_iterator > findProperty(const PropertiesT &props, const std::string &name) const 
 
PropertyBase base class allowing PropertyBase* collections to be "homogeneous". 
 
const Gaudi::Details::PropertyBase * getProperty(const std::string &client, const std::string &name) const 
 
constexpr static const auto SUCCESS
 
virtual Out operator()(const vector_of_const_< In > &inputs) const  =0
 
T back_inserter(T...args)