Go to the documentation of this file.
11 #ifndef SPLITTING_TRANSFORMER_H
12 #define SPLITTING_TRANSFORMER_H
25 template <
typename Container>
27 template <
typename Container>
32 template <
typename Signature,
typename Traits_,
bool isLegacy>
36 template <
typename Out,
typename... In,
typename Traits_>
43 using KeyValue =
typename base_class::KeyValue;
50 this, outputs.first, outputs.
second,
51 [=](
Gaudi::Details::PropertyBase& ) {
54 if constexpr ( details::is_optional_v<Out> ) {
57 std::for_each( this->m_outputs.begin(), this->m_outputs.end(),
58 [](
auto&
h ) { h.setOptional( true ); } );
65 static_assert(
N == 1,
"single input argument requires single input signature" );
77 if (
out.size() != m_outputs.size() ) {
103 template <
typename Out,
typename... In,
typename Traits_>
117 this, outputs.first, outputs.
second,
118 [=](
Gaudi::Details::PropertyBase& ) {
121 if constexpr ( details::is_optional_v<Out> ) {
124 std::for_each( this->m_outputs.begin(), this->m_outputs.end(),
125 [](
auto&
h ) { h.setOptional( true ); } );
132 static_assert(
N == 1,
"single input argument requires single input signature" );
144 if (
out.size() != m_outputs.size() ) {
163 template <
typename T>
172 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
Handles make_vector_of_handles(IDataHandleHolder *owner, const std::vector< std::string > &init)
details::template vector_of_const_< Container > vector_of_
Gaudi::tagged_bool< class ImmediatelyInvokeHandler_tag > ImmediatelyInvokeHandler
virtual const std::string & message() const
error message to be printed
static auto apply(const Algorithm &algo, Handles &handles)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Header file for std:chrono::duration-based Counters.
virtual const StatusCode & code() const
StatusCode for Exception.
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
constexpr static const auto FAILURE
Gaudi::cpp17::detected_or_t< DataObjectWriteHandle< T >, detail2::OutputHandle_t, Tr, T > OutputHandle_t
typename filter_evtcontext_t< In... >::type filter_evtcontext
Implementation of property with value of concrete type.
auto put(const DataObjectHandle< Out1 > &out_handle, Out2 &&out)