1 #ifndef GAUDI_FUNCTIONAL_PRODUCER_H 2 #define GAUDI_FUNCTIONAL_PRODUCER_H 13 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
16 template <
typename... Out,
typename Traits_>
36 (
put( std::get<O>( this->m_outputs ), std::get<O>(
as_const( *
this )() ) ), 0 )...};
45 template <
typename Out,
typename Traits_>
56 put( std::get<0>( this->m_outputs ),
as_const( *
this )() );
58 this->error() <<
"Error during transform: " << e.
message() <<
" returning " << e.
code() <<
endmsg;
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.
StatusCode execute() override final
This class is used for returning status codes from appropriate routines.
StatusCode execute() override final
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
StatusCode invoke(std::index_sequence< O... >)
struct[[deprecated("use MergingTransformer instead")]] Traits_
auto invoke(F &&f, ArgTypes &&...args) noexcept(noexcept(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))) -> decltype(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))
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)