The Gaudi Framework  v36r6 (b1ee9983)
Gaudi ::Functional::details::MultiTransformer< std::tuple< Out... >(const In &...), Traits_, true > Struct Template Referenceabstract

#include </builds/gaudi/Gaudi/GaudiAlg/include/GaudiAlg/Transformer.h>

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

Public Member Functions

StatusCode execute () override final
 
virtual std::tuple< Out... > operator() (const In &...) const =0
 

Detailed Description

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

Definition at line 94 of file Transformer.h.

Member Function Documentation

◆ execute()

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

Definition at line 99 of file Transformer.h.

99  {
100  try {
101  std::apply(
102  [this]( auto&... ohandle ) {
104 
105  if constexpr ( sizeof...( In ) == 0 ) {
106  std::apply( [&ohandle...](
107  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
108  std::as_const( *this )() );
109  } else {
110  std::apply( [&ohandle...](
111  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
112  filter_evtcontext_t<In...>::apply( std::as_const( *this ), this->m_inputs ) );
113  }
115  },
116  this->m_outputs );
117  return FilterDecision::PASSED;
118  } catch ( GaudiException& e ) {
119  ( e.code() ? this->warning() : this->error() ) << e.tag() << " : " << e.message() << endmsg;
120  return e.code();
121  }
122  }

◆ operator()()

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

The documentation for this struct was generated from the following file:
GaudiHive.precedence.message
message
Definition: precedence.py:22
GF_SUPPRESS_SPURIOUS_CLANG_WARNING_BEGIN
#define GF_SUPPRESS_SPURIOUS_CLANG_WARNING_BEGIN
Definition: FunctionalDetails.h:44
GaudiException
Definition: GaudiException.h:31
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:203
GaudiException::code
virtual const StatusCode & code() const
StatusCode for Exception.
Definition: GaudiException.h:86
GF_SUPPRESS_SPURIOUS_CLANG_WARNING_END
#define GF_SUPPRESS_SPURIOUS_CLANG_WARNING_END
Definition: FunctionalDetails.h:45