| 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... >, std::tuple< In... >, Traits_ > Class Template Reference

`#include <GaudiAlg/FunctionalDetails.h>`

Inheritance diagram for Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >:
[legend]
Collaboration diagram for Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, 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_in > &inputs, const std::array< KeyValue, N_out > &outputs)
| DataHandleMixin (const std::string &name, ISvcLocator *locator, const KeyValue &input, const KeyValue &output)
| DataHandleMixin (const std::string &name, ISvcLocator *locator, const KeyValue &input, const std::array< KeyValue, N_out > &outputs)
| DataHandleMixin (const std::string &name, ISvcLocator *locator, const std::array< KeyValue, N_in > &inputs, const KeyValue &output)
constexpr unsigned int | inputLocationSize () const
constexpr unsigned int | outputLocationSize () const

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

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

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

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

## Detailed Description

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

Definition at line 411 of file FunctionalDetails.h.

## Member Typedef Documentation

## ◆ KeyValue

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 427 of file FunctionalDetails.h.

## ◆ KeyValues

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 428 of file FunctionalDetails.h.

## Constructor & Destructor Documentation

## ◆ DataHandleMixin() [1/5]

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

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

Definition at line 415 of file FunctionalDetails.h.

417 : BaseClass_t<Traits_>( name, pSvcLocator )
418 , m_inputs( std::tuple_cat( std::forward_as_tuple( this ), std::get<I>( inputs ) )... )
419 , m_outputs( std::tuple_cat( std::forward_as_tuple( this ), std::get<J>( outputs ) )... ) {
420 this->setProperty( "Cardinality", 0 ); // make sure this algorithm is seen as reentrant by Gaudi
421 }
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... >, std::tuple< In... >, Traits_ >::m_inputs
std::tuple< details::InputHandle_t< Traits_, In >... > m_inputs
Definition: FunctionalDetails.h:464
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::m_outputs
std::tuple< details::OutputHandle_t< Traits_, Out >... > m_outputs
Definition: FunctionalDetails.h:465

## ◆ DataHandleMixin() [2/5]

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 431 of file FunctionalDetails.h.

433 : DataHandleMixin( name, pSvcLocator, inputs, std::index_sequence_for<In...>{}, outputs,
434 std::index_sequence_for<Out...>{} ) {}
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const IArgs &inputs, std::index_sequence< I... >, const OArgs &outputs, std::index_sequence< J... >)
Definition: FunctionalDetails.h:415

## ◆ DataHandleMixin() [3/5]

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 438 of file FunctionalDetails.h.

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

## ◆ DataHandleMixin() [4/5]

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 441 of file FunctionalDetails.h.

443 : DataHandleMixin( name, locator, std::array<KeyValue, 1>{input}, outputs ) {}
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const IArgs &inputs, std::index_sequence< I... >, const OArgs &outputs, std::index_sequence< J... >)
Definition: FunctionalDetails.h:415
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
std::array
STL class.

## ◆ DataHandleMixin() [5/5]

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 445 of file FunctionalDetails.h.

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

## Member Function Documentation

## ◆ inputLocationSize()

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 453 of file FunctionalDetails.h.

453 { return N_in; }
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::N_in
static constexpr std::size_t N_in
Definition: FunctionalDetails.h:424

## ◆ isReEntrant()

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 462 of file FunctionalDetails.h.

462 { return true; }

## ◆ outputLocationSize()

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 459 of file FunctionalDetails.h.

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

## Member Data Documentation

## ◆ m_inputs

template<typename... Out, typename... In, typename Traits_ >

std::tuple<details::InputHandle_t<Traits_, In>...> Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::m_inputs
| protected

Definition at line 464 of file FunctionalDetails.h.

## ◆ m_outputs

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 465 of file FunctionalDetails.h.

## ◆ N_in

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 424 of file FunctionalDetails.h.

## ◆ N_out

template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 425 of file FunctionalDetails.h.

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

- GaudiAlg/GaudiAlg/FunctionalDetails.h