1 #ifndef FUNCTIONAL_UTILITIES_H 2 #define FUNCTIONAL_UTILITIES_H 4 #include "boost/algorithm/string/join.hpp" 5 #include <initializer_list> 18 return boost::algorithm::join(
c,
":" );
21 template <
typename... Strings>
26 [[deprecated(
"please use `updateHandleLocation` instead of `Gaudi::Functional::updateHandleLocation`" )]]
inline void 29 if ( sc.isFailure() )
throw GaudiException(
"Could not set Property", prop +
" -> " + newLoc, sc );
33 "please use `updateHandleLocations` instead of `Gaudi::Functional::updateHandleLocations`" )]]
inline void 37 ss <<
'[', newLocs,
", ", [](
std::ostream & os,
const auto& i ) ->
auto& {
return os <<
"'" << i <<
"'"; } )
40 if ( sc.isFailure() )
throw GaudiException(
"Could not set Property", prop +
" -> " + ss.
str(), sc );
57 template <
typename... Base>
61 template <
typename Base>
66 template <
template <
typename>
class Handle>
72 template <
template <
typename>
class Handle>
Define general base for Gaudi exception.
std::string concat_alternatives(std::initializer_list< std::string > c)
Header file for class GaudiAlgorithm.
void updateHandleLocation(IProperty &parent, const std::string &prop, const std::string &newLoc)
Provide serialization function (output only) for some common STL classes (vectors,...
virtual StatusCode setProperty(const Gaudi::Details::PropertyBase &p)=0
Set the property by property.
void updateHandleLocations(IProperty &parent, const std::string &prop, const std::vector< std::string > &newLocs)
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
The IProperty is the basic interface for all components which have properties that can be set or get.