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

`#include <GaudiAlg/FunctionalDetails.h>`

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

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

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

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

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

## Detailed Description

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

Definition at line 484 of file FunctionalDetails.h.

## Member Typedef Documentation

## ◆ KeyValue

template<typename... In, typename Traits_ >

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

Definition at line 495 of file FunctionalDetails.h.

## ◆ KeyValues

template<typename... In, typename Traits_ >

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

Definition at line 496 of file FunctionalDetails.h.

## Constructor & Destructor Documentation

## ◆ DataHandleMixin() [1/3]

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

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

Definition at line 488 of file FunctionalDetails.h.

489 : BaseClass_t<Traits_>( name, pSvcLocator )
490 , m_inputs( std::tuple_cat( std::forward_as_tuple( this ), std::get<I>( inputs ) )... ) {
491 this->setProperty( "Cardinality", 0 ); // make sure this algorithm is seen as reentrant by Gaudi
492 }
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< void, std::tuple< In... >, Traits_ >::m_inputs
std::tuple< details::InputHandle_t< Traits_, In >... > m_inputs
Definition: FunctionalDetails.h:518

## ◆ DataHandleMixin() [2/3]

template<typename... In, typename Traits_ >

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

Definition at line 500 of file FunctionalDetails.h.

501 : DataHandleMixin( name, pSvcLocator, inputs, std::index_sequence_for<In...>{} ) {}
Gaudi::Functional::details::DataHandleMixin< void, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const IArgs &inputs, std::index_sequence< I... >)
Definition: FunctionalDetails.h:488

## ◆ DataHandleMixin() [3/3]

template<typename... In, typename Traits_ >

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

Definition at line 505 of file FunctionalDetails.h.

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

## Member Function Documentation

## ◆ inputLocationSize()

template<typename... In, typename Traits_ >

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

Definition at line 513 of file FunctionalDetails.h.

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

## ◆ isReEntrant()

template<typename... In, typename Traits_ >

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

Definition at line 516 of file FunctionalDetails.h.

516 { return true; }

## Member Data Documentation

## ◆ m_inputs

template<typename... In, typename Traits_ >

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

Definition at line 518 of file FunctionalDetails.h.

## ◆ N_in

template<typename... In, typename Traits_ >

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

Definition at line 497 of file FunctionalDetails.h.

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

- GaudiAlg/GaudiAlg/FunctionalDetails.h