16 namespace Gaudi {
namespace Functional {
18 template <
typename Signature,
typename Traits_= Traits::useDefaults>
class Transformer;
21 template <
typename Out,
typename... In,
typename Traits_>
30 {
return invoke(std::index_sequence_for<In...>{}); }
33 virtual Out
operator()(
const In&...)
const = 0;
42 (e.
code() ? this->warning() : this->error() )
53 template <
typename Signature,
typename Traits_=Traits::useDefaults>
class MultiTransformer;
55 template <
typename ... Out,
typename... In,
typename Traits_>
64 {
return invoke(std::index_sequence_for<In...>{},std::index_sequence_for<Out...>{}); }
76 (
put(std::get<O>(this->m_outputs),
std::move(std::get<O>(out))),0)...
79 (e.
code() ? this->warning() : this->error() )
92 template <
typename ... Out,
typename... In,
typename Traits_>
101 {
return invoke(std::index_sequence_for<In...>{},std::index_sequence_for<Out...>{}); }
112 this->setFilterPassed(std::get<0>(out));
114 (
put(std::get<O>(this->m_outputs),
std::move(std::get<O+1>(out))),0)...
117 (e.
code() ? this->warning() : this->error() )
virtual const std::string & message() const
error message to be printed
constexpr std::add_const< T >::type & as_const(T &t) noexcept
Define general base for Gaudi exception.
class MergingTransformer< Out(const vector_of_const_< In > void
virtual const StatusCode & code() const
StatusCode for Exception.
class MergingTransformer< Out(const vector_of_const_< In > Traits_
This class is used for returning status codes from appropriate routines.
std::vector< InputHandle_t< In > > m_inputs
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
Helper functions to set/get the application return code.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Out1 * put(DataObjectHandle< Out1 > &out_handle, Out2 &&out)