Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
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,
":" );
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>
88 template <
typename Data,
typename View>
96 template <
typename Data>
100 template <
typename T>
104 template <
typename T>
void updateHandleLocations(IProperty &parent, const std::string &prop, const std::vector< std::string > &newLocs)
std::enable_if_t< std::is_same_v< T, Data >, DataObjectWriteHandle< View, Data > > OutputHandle
std::enable_if_t< std::is_same_v< T, Data >, DataObjectWriteHandle< OpaqueView, Data > > OutputHandle
void updateHandleLocation(IProperty &parent, const std::string &prop, const std::string &newLoc)
std::string concat_alternatives(std::initializer_list< std::string > c)
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.