| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ > Class Template Reference

`#include <GaudiAlg/FunctionalDetails.h>`

Inheritance diagram for Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >:
[legend]
Collaboration diagram for Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >:
[legend]

## Public Types
using | KeyValue = std::pair< std::string, std::string >
using | KeyValues = std::pair< std::string, std::vector< std::string > >

## Public Member Functions
| 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

## Static Public Attributes
static constexpr std::size_t | N_out = sizeof...( Out )

## Protected Member Functions
bool | isReEntrant () const override

## Protected Attributes
std::tuple< details::OutputHandle_t< Traits_, Out >... > | m_outputs

## Private Member Functions
template<typename OArgs , std::size_t... J>
| DataHandleMixin (const std::string &name, ISvcLocator *pSvcLocator, const OArgs &outputs, std::index_sequence< J... >)

## Detailed Description

### template<typename... Out, typename Traits_>
class Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >

Definition at line 522 of file FunctionalDetails.h.

## Member Typedef Documentation

## ◆ KeyValue

template<typename... Out, typename Traits_ >

using Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::KeyValue = std::pair<std::string, std::string>

Definition at line 535 of file FunctionalDetails.h.

## ◆ KeyValues

template<typename... Out, typename Traits_ >

using Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::KeyValues = std::pair<std::string, std::vector<std::string> >

Definition at line 536 of file FunctionalDetails.h.

## Constructor & Destructor Documentation

## ◆ DataHandleMixin() [1/3]

template<typename... Out, typename Traits_ >
template<typename OArgs , std::size_t... J>

Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::DataHandleMixin | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator,
|  | const OArgs & | outputs,
|  | std::index_sequence< J... > |
| ) |  |
| inline private

Definition at line 526 of file FunctionalDetails.h.

528 : BaseClass_t<Traits_>( name, pSvcLocator )
529 , m_outputs( std::tuple_cat( std::forward_as_tuple( this ), std::get<J>( outputs ) )... ) {
530 this->setProperty( "Cardinality", 0 ); // make sure this algorithm is seen as reentrant by Gaudi
531 }
std::forward_as_tuple
T forward_as_tuple(T... args)
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
setProperty
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Definition: Bootstrap.cpp:233
std::tuple_cat
T tuple_cat(T... args)
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::m_outputs
std::tuple< details::OutputHandle_t< Traits_, Out >... > m_outputs
Definition: FunctionalDetails.h:555

## ◆ DataHandleMixin() [2/3]

template<typename... Out, typename Traits_ >

Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::DataHandleMixin | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator,
|  | const std::array< KeyValue, N_out > & | outputs
| ) |  |
| inline

Definition at line 539 of file FunctionalDetails.h.

540 : DataHandleMixin( name, pSvcLocator, outputs, std::index_sequence_for<Out...>{} ) {}
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const OArgs &outputs, std::index_sequence< J... >)
Definition: FunctionalDetails.h:526

## ◆ DataHandleMixin() [3/3]

template<typename... Out, typename Traits_ >

Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::DataHandleMixin | ( | const std::string & | name,
|  | ISvcLocator * | locator,
|  | const KeyValue & | output
| ) |  |
| inline

Definition at line 543 of file FunctionalDetails.h.

544 : DataHandleMixin( name, locator, std::array<KeyValue, 1>{output} ) {}
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
gaudirun.output
output
Definition: gaudirun.py:484
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const OArgs &outputs, std::index_sequence< J... >)
Definition: FunctionalDetails.h:526
std::array
STL class.

## Member Function Documentation

## ◆ isReEntrant()

template<typename... Out, typename Traits_ >

bool Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::isReEntrant | ( |  | ) | const
| inline override protected

Definition at line 553 of file FunctionalDetails.h.

553 { return true; }

## ◆ outputLocationSize()

template<typename... Out, typename Traits_ >

constexpr unsigned int Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::outputLocationSize | ( |  | ) | const
| inline

Definition at line 550 of file FunctionalDetails.h.

550 { return N_out; }
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::N_out
static constexpr std::size_t N_out
Definition: FunctionalDetails.h:534

## Member Data Documentation

## ◆ m_outputs

template<typename... Out, typename Traits_ >

std::tuple<details::OutputHandle_t<Traits_, Out>...> Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::m_outputs
| protected

Definition at line 555 of file FunctionalDetails.h.

## ◆ N_out

template<typename... Out, typename Traits_ >

constexpr std::size_t Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, void, Traits_ >::N_out = sizeof...( Out )
| static

Definition at line 534 of file FunctionalDetails.h.

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

- GaudiAlg/GaudiAlg/FunctionalDetails.h