1 #ifndef FUNCTIONAL_UTILITIES_H 2 #define FUNCTIONAL_UTILITIES_H 4 #include <initializer_list> 6 #include "boost/algorithm/string/join.hpp" 15 namespace Gaudi {
namespace Functional {
19 return boost::algorithm::join(c,
":");
22 template <
typename... Strings>
29 if (sc.isFailure())
throw GaudiException(
"Could not set Property",prop +
" -> " + newLoc ,sc);
36 ->
auto& {
return os <<
"'" << i <<
"'"; } ) <<
']';
38 if (sc.isFailure())
throw GaudiException(
"Could not set Property",prop +
" -> " + ss.
str(),sc);
41 [[
deprecated(
"please use updateHandleLocation instead")]]
59 template <
typename ... Base>
struct use_ : Base... {};
62 template <
typename Base>
65 template <
template<
typename>
class Handle>
68 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.
struct deprecated("use MergingTransformer instead")]] ListTransformer
void updateHandleLocation(IProperty &parent, const std::string &prop, const std::string &newLoc)
Provide serialization function (output only) for some common STL classes (vectors, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap.
void updateReadHandleLocation(IProperty &parent, const std::string &prop, const std::string &newLoc)
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...
Helper functions to set/get the application return code.