6 #include <boost/format.hpp> 13 constexpr
struct select1st_t {
30 auto it = catalog_.find(property->
ClientName());
31 if (it == catalog_.end()) {
33 properties.insert(property);
37 it->second.erase(*property);
38 it->second.insert(property);
45 auto it = catalog_.find(client);
46 if (it == catalog_.end())
return nullptr;
48 auto pit =
std::find_if(it->second.begin(), it->second.end(),
49 Property::Equal(name));
50 return (pit != it->second.end()) ? &*pit :
nullptr;
56 for (
const auto& client : catalog_) {
57 for (
const auto& current : client.second) {
58 result += current.ToString()+
"\n";
72 size_t nComponents = 0 ;
73 size_t nProperties = 0 ;
75 for (
const auto& client : catalog_) {
79 nProperties += client.second.size() ;
80 for (
const auto& current : client.second) {
83 % current.ValueAsString()
88 <<
boost::format(
"// End parser catalog #Components=%1% #Properties=%2%")
89 % nComponents % nProperties <<
'\n' GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
std::ostream & fillStream(std::ostream &out) const
print the content of the catalogue to std::ostream
Gaudi::Details::PropertyBase * property(const std::string &name) const
Gaudi::Details::PropertyBase Property
backward compatibility hack for old Property base class
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
T back_inserter(T...args)
const std::string & ClientName() const