11 #ifndef FUNCTIONAL_UTILITIES_H 12 #define FUNCTIONAL_UTILITIES_H 14 #include "boost/algorithm/string/join.hpp" 15 #include <initializer_list> 28 return boost::algorithm::join(
c,
":" );
31 template <
typename... Strings>
36 [[deprecated(
"please use `updateHandleLocation` instead of `Gaudi::Functional::updateHandleLocation`" )]]
inline void 39 if ( sc.isFailure() )
throw GaudiException(
"Could not set Property", prop +
" -> " + newLoc, sc );
43 "please use `updateHandleLocations` instead of `Gaudi::Functional::updateHandleLocations`" )]]
inline void 47 ss <<
'[', newLocs,
", ", [](
std::ostream & os,
const auto& i ) ->
auto& {
return os <<
"'" << i <<
"'"; } )
50 if ( sc.isFailure() )
throw GaudiException(
"Could not set Property", prop +
" -> " + ss.
str(), sc );
67 template <
typename... Base>
71 template <
typename Base>
76 template <
template <
typename>
class Handle>
82 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.