| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ > Struct Template Referenceabstract

`#include <GaudiAlg/MergingTransformer.h>`

Inheritance diagram for Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >:
[legend]
Collaboration diagram for Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >:
[legend]

## Public Types
using | KeyValue = typename base_class::KeyValue
using | KeyValues = typename base_class::KeyValues
using | OutKeys = std::array< KeyValue, sizeof...(Outs)>

## Public Member Functions
| MergingMultiTransformer (std::string const &name, ISvcLocator *locator, KeyValues const &inputs, OutKeys const &outputs)
std::string const & | inputLocation (unsigned int n) const
unsigned int | inputLocationSize () const
StatusCode | execute (EventContext const &) const override final
virtual std::tuple< Outs... > | operator() (const vector_of_const_< In > &inputs) const =0

## Private Types
using | base_class = details::DataHandleMixin< std::tuple< Outs... >, void, Traits_ >
template<typename T >
using | InputHandle_t = details::InputHandle_t< Traits_, typename std::remove_pointer< T >::type >

## Private Attributes
std::vector< InputHandle_t< In > > | m_inputs
Gaudi::Property< std::vector< std::string > > | m_inputLocations

## Detailed Description

### template<typename... Outs, typename In, typename Traits_>
struct Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >

Definition at line 146 of file MergingTransformer.h.

## Member Typedef Documentation

## ◆ base_class

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

using Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::base_class = details::DataHandleMixin<std::tuple<Outs...>, void, Traits_>
| private

Definition at line 150 of file MergingTransformer.h.

## ◆ InputHandle_t

template<typename... Outs, typename In , typename Traits_ >
template<typename T >

using Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::InputHandle_t = details::InputHandle_t<Traits_, typename std::remove_pointer<T>::type>
| private

Definition at line 192 of file MergingTransformer.h.

## ◆ KeyValue

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

using Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::KeyValue = typename base_class::KeyValue

Definition at line 153 of file MergingTransformer.h.

## ◆ KeyValues

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

using Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::KeyValues = typename base_class::KeyValues

Definition at line 154 of file MergingTransformer.h.

## ◆ OutKeys

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

using Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::OutKeys = std::array<KeyValue, sizeof...( Outs )>

Definition at line 155 of file MergingTransformer.h.

## Constructor & Destructor Documentation

## ◆ MergingMultiTransformer()

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

Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::MergingMultiTransformer | ( | std::string const & | name,
|  | ISvcLocator * | locator,
|  | KeyValues const & | inputs,
|  | OutKeys const & | outputs
| ) |  |

## Member Function Documentation

## ◆ execute()

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

StatusCode Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::execute | ( | EventContext const & |  | ) | const
| inline final override

Definition at line 165 of file MergingTransformer.h.

165 {
166 vector_of_const_<In> ins;
167 ins.reserve( m_inputs.size() );
168 std::transform( m_inputs.begin(), m_inputs.end(), std::back_inserter( ins ),
169 details::details2::get_from_handle<In>{} );
170 try {
171 std::apply(
172 [&]( auto&... outhandle ) {
173 std::apply(
174 [&outhandle...]( auto&&... data ) {
175 ( details::put( outhandle, std::forward<decltype( data )>( data ) ), ... );
176 },
177 std::as_const( *this )( std::as_const( ins ) ) );
178 },
179 this->m_outputs );
180 } catch ( GaudiException& e ) {
181 ( e.code() ? this->warning() : this->error() ) << e.message() << endmsg;
182 return e.code();
183 }
184 return StatusCode::SUCCESS;
185 }
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:21
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::m_inputs
std::vector< InputHandle_t< In > > m_inputs
Definition: MergingTransformer.h:193
std::vector::end
T end(T... args)
GaudiException::code
virtual const StatusCode & code() const
StatusCode for Exception.
Definition: GaudiException.h:76
std::vector::size
T size(T... args)
std::vector::begin
T begin(T... args)
std::back_inserter
T back_inserter(T... args)
std::transform
T transform(T... args)
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

## ◆ inputLocation()

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

std::string const& Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::inputLocation | ( | unsigned int | n | ) | const
| inline

Definition at line 161 of file MergingTransformer.h.

161 { return m_inputLocations.value()[n]; }
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::m_inputLocations
Gaudi::Property< std::vector< std::string > > m_inputLocations
Definition: MergingTransformer.h:194

## ◆ inputLocationSize()

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

unsigned int Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::inputLocationSize | ( |  | ) | const
| inline

Definition at line 162 of file MergingTransformer.h.

162 { return m_inputLocations.value().size(); }
Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::m_inputLocations
Gaudi::Property< std::vector< std::string > > m_inputLocations
Definition: MergingTransformer.h:194

## ◆ operator()()

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

virtual std::tuple<Outs...> Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::operator() | ( | const vector_of_const_< In > & | inputs | ) | const
| pure virtual

## Member Data Documentation

## ◆ m_inputLocations

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

Gaudi::Property<std::vector<std::string> > Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::m_inputLocations
| private

Definition at line 194 of file MergingTransformer.h.

## ◆ m_inputs

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

std::vector<InputHandle_t<In> > Gaudi::Functional::MergingMultiTransformer< std::tuple< Outs... >(vector_of_const_< In > const &), Traits_ >::m_inputs
| private

Definition at line 193 of file MergingTransformer.h.

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

- GaudiAlg/GaudiAlg/MergingTransformer.h