The Gaudi Framework  master (594c33fa)
Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true > Struct Template Referenceabstract

#include </builds/gaudi/Gaudi/GaudiFunctional/include/Gaudi/Functional/Transformer.h>

Inheritance diagram for Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true >:
Collaboration diagram for Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true >:

Public Member Functions

StatusCode execute () override final
 
virtual Out operator() (const In &...) const =0
 

Detailed Description

template<typename Out, typename... In, typename Traits_>
struct Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true >

Definition at line 35 of file Transformer.h.

Member Function Documentation

◆ execute()

template<typename Out , typename... In, typename Traits_ >
StatusCode Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true >::execute ( )
inlinefinaloverride

Definition at line 40 of file Transformer.h.

40  {
41  try {
42  if constexpr ( sizeof...( In ) == 0 ) {
43  put( std::get<0>( this->m_outputs ), ( *this )() );
44  } else if constexpr ( std::tuple_size_v<filter_evtcontext<In...>> == 0 ) {
45  put( std::get<0>( this->m_outputs ), ( *this )( Gaudi::Hive::currentContext() ) );
46  } else {
47  put( std::get<0>( this->m_outputs ), filter_evtcontext_t<In...>::apply( *this, this->m_inputs ) );
48  }
49  return FilterDecision::PASSED;
50  } catch ( GaudiException& e ) {
51  if ( e.code().isFailure() ) this->error() << e.tag() << " : " << e.message() << endmsg;
52  return e.code();
53  }
54  }

◆ operator()()

template<typename Out , typename... In, typename Traits_ >
virtual Out Gaudi ::Functional::details::Transformer< Out(const In &...), Traits_, true >::operator() ( const In &  ...) const
pure virtual

The documentation for this struct was generated from the following file:
Gaudi::Hive::currentContext
GAUDI_API const EventContext & currentContext()
Definition: ThreadLocalContext.cpp:30
GaudiException
Definition: GaudiException.h:31
GaudiException::message
virtual const std::string & message() const
error message to be printed
Definition: GaudiException.h:68
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:203
GaudiException::tag
virtual const std::string & tag() const
name tag for the exception, or exception type
Definition: GaudiException.h:77
GaudiException::code
virtual const StatusCode & code() const
StatusCode for Exception.
Definition: GaudiException.h:86
StatusCode::isFailure
bool isFailure() const
Definition: StatusCode.h:129
Gaudi::Functional::details::put
auto put(const DataObjectHandle< Out1 > &out_handle, Out2 &&out)
Definition: details.h:169