| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | 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 >

## 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)
template<std::size_t N = 0>
const std::string & | inputLocation () const
unsigned int | inputLocationSize () const
template<std::size_t N = 0>
const std::string & | outputLocation () const
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 Attributes
std::tuple< details::InputHandle_t< Traits_, In >... > | m_inputs
std::tuple< details::OutputHandle_t< Traits_, Out >... > | m_outputs

## Detailed Description

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

Definition at line 320 of file FunctionalDetails.h.

## Member Typedef Documentation

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 324 of file FunctionalDetails.h.

## Constructor & Destructor Documentation

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 329 of file FunctionalDetails.h.

332 : BaseClass_t<Traits_>( name , pSvcLocator ),
333 m_inputs( make_tuple_of_handles<decltype(m_inputs)>( this, inputs, Gaudi::DataHandle::Reader ) ),
334 m_outputs( make_tuple_of_handles<decltype(m_outputs)>( this, outputs, Gaudi::DataHandle::Writer ) )
335 {
336 declare_tuple_of_properties( this, inputs, m_inputs );
337 declare_tuple_of_properties( this, outputs, m_outputs );
338 // make sure this algorithm is seen as reentrant by Gaudi
339 BaseClass_t<Traits_>::setProperty("Cardinality", 0);
340 }
Gaudi::Utils::setProperty
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition: Property.h:1138
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:371
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
Gaudi::Functional::details::declare_tuple_of_properties
void declare_tuple_of_properties(GaudiAlgorithm *owner, const KeyValues &inputs, Properties &props)
Definition: FunctionalDetails.h:299
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:372
Gaudi::DataHandle::Reader
Definition: DataHandle.h:31
BrunelScenarioForwardScheduler.inputs
inputs
Definition: BrunelScenarioForwardScheduler.py:123
Gaudi::Functional::details::make_tuple_of_handles
Tuple make_tuple_of_handles(IDataHandleHolder *owner, const KeyValues &initvalue, Gaudi::DataHandle::Mode mode)
Definition: FunctionalDetails.h:294
Gaudi::DataHandle::Writer
Definition: DataHandle.h:32
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 344 of file FunctionalDetails.h.

347 : DataHandleMixin( name, locator, std::array<KeyValue,1>{ input }, std::array<KeyValue,1>{ output } )
348 { }
gaudirun.output
output
Definition: gaudirun.py:388
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const std::array< KeyValue, N_in > &inputs, const std::array< KeyValue, N_out > &outputs)
Definition: FunctionalDetails.h:329
std::array
STL class.
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 350 of file FunctionalDetails.h.

353 : DataHandleMixin( name, locator, std::array<KeyValue,1>{ input }, outputs )
354 { }
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const std::array< KeyValue, N_in > &inputs, const std::array< KeyValue, N_out > &outputs)
Definition: FunctionalDetails.h:329
std::array
STL class.
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 356 of file FunctionalDetails.h.

359 : DataHandleMixin( name, locator, inputs, std::array<KeyValue,1>{ output } )
360 { }
gaudirun.output
output
Definition: gaudirun.py:388
Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::DataHandleMixin
DataHandleMixin(const std::string &name, ISvcLocator *pSvcLocator, const std::array< KeyValue, N_in > &inputs, const std::array< KeyValue, N_out > &outputs)
Definition: FunctionalDetails.h:329
std::array
STL class.

## Member Function Documentation

template<typename... Out, typename... In, typename Traits_ >
template<std::size_t N = 0>

const std::string& Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::inputLocation | ( |  | ) | const
| inline

Definition at line 363 of file FunctionalDetails.h.

363 { return std::get<N>(m_inputs).objKey(); }
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:371
template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 364 of file FunctionalDetails.h.

364 { return std::tuple_size<decltype(m_inputs)>::value; }
template<typename... Out, typename... In, typename Traits_ >
template<std::size_t N = 0>

const std::string& Gaudi::Functional::details::DataHandleMixin< std::tuple< Out... >, std::tuple< In... >, Traits_ >::outputLocation | ( |  | ) | const
| inline

Definition at line 367 of file FunctionalDetails.h.

367 { return std::get<N>(m_outputs).objKey(); }
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:372
template<typename... Out, typename... In, typename Traits_ >

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

Definition at line 368 of file FunctionalDetails.h.

368 { return std::tuple_size<decltype(m_outputs)>::value; }

## Member Data Documentation

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 371 of file FunctionalDetails.h.

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 372 of file FunctionalDetails.h.

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 325 of file FunctionalDetails.h.

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 326 of file FunctionalDetails.h.

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

- GaudiAlg/GaudiAlg/FunctionalDetails.h