| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | List of all members
Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true > Struct Template Referenceabstract

`#include <GaudiAlg/Producer.h>`

Inheritance diagram for Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true >:
[legend]
Collaboration diagram for Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true >:
[legend]

## Public Member Functions
StatusCode | execute () override final
virtual std::tuple< Out... > | operator() () const =0
Public Member Functions inherited from Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >
| DataHandleMixin (const std::string &name, ISvcLocator *pSvcLocator, const std::array< KeyValue, N_out > &outputs)
| DataHandleMixin (const std::string &name, ISvcLocator *locator, const KeyValue &output)
constexpr unsigned int | outputLocationSize () const

## Additional Inherited Members
Public Types inherited from Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >
using | KeyValue = std::pair< std::string, std::string >
using | KeyValues = std::pair< std::string, std::vector< std::string > >
Static Public Attributes inherited from Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >
static constexpr std::size_t | N_out = sizeof...( Out )
Protected Member Functions inherited from Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >
bool | isReEntrant () const override
Protected Attributes inherited from Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >
std::tuple< details::OutputHandle_t< Traits_, Out >... > | m_outputs

## Detailed Description

### template<typename... Out, typename Traits_>
struct Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true >

Definition at line 16 of file Producer.h.

## Member Function Documentation

## ◆ execute()

template<typename... Out, typename Traits_ >

StatusCode Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true >::execute | ( |  | ) |
| inline final override

Definition at line 20 of file Producer.h.

20 {
21 try {
22 std::apply(
23 [&]( auto&... ohandle ) {
24 std::apply(
25 [&ohandle...]( auto&&... data ) {
26 ( details::put( ohandle, std::forward<decltype( data )>( data ) ), ... );
27 },
28 std::as_const( *this )() );
29 },
30 this->m_outputs );
31 return StatusCode::SUCCESS;
32 } catch ( GaudiException& e ) {
33 ( e.code() ? this->warning() : this->error() ) << e.message() << endmsg;
34 return e.code();
35 }
36 }
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:21
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
GaudiException::code
virtual const StatusCode & code() const
StatusCode for Exception.
Definition: GaudiException.h:76
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::m_outputs
std::tuple< details::OutputHandle_t< Traits_, Out >... > m_outputs
Definition: FunctionalDetails.h:555
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

## ◆ operator()()

template<typename... Out, typename Traits_ >

virtual std::tuple<Out...> Gaudi::Functional::details::Producer< std::tuple< Out... >(), Traits_, true >::operator() | ( |  | ) | const
| pure virtual

The documentation for this struct was generated from the following file:

- GaudiAlg/GaudiAlg/Producer.h