1 #ifndef SPLITTING_TRANSFORMER_H 2 #define SPLITTING_TRANSFORMER_H 13 namespace Functional {
15 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
18 template <
typename Container>
20 template <
typename Container>
24 template <
typename Out,
typename... In,
typename Traits_>
40 static_assert( N == 1,
"single input argument requires single input signature" );
53 if ( out.size() != m_outputs.size() ) {
79 template <
typename Out,
typename... In,
typename Traits_>
84 , m_outputLocations( this, outputs.first, outputs.
second,
85 [=](
Gaudi::Details::PropertyBase& ) {
87 this, m_outputLocations );
91 std::for_each( this->m_outputs.begin(), this->m_outputs.end(),
92 [](
auto& h ) { h.setOptional(
true ); } );
virtual const std::string & message() const
error message to be printed
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Implementation of property with value of concrete type.
Gaudi::tagged_bool< class ImmediatelyInvokeHandler_tag > ImmediatelyInvokeHandler
constexpr static const auto SUCCESS
typename Gaudi::cpp17::is_detected< details2::is_optional_, Arg > is_optional
class MergingTransformer< Out(const vector_of_const_< In > void
virtual const StatusCode & code() const
StatusCode for Exception.
class MergingTransformer< Out(const vector_of_const_< In > Traits_
This class is used for returning status codes from appropriate routines.
static auto apply(const Algorithm &algo, Handles &handles)
details::template vector_of_const_< Container > vector_of_
constexpr std::add_const_t< T > & as_const(T &t) noexcept
std::vector< InputHandle_t< In > > m_inputs
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
Gaudi::cpp17::detected_or_t< DataObjectWriteHandle< T >, detail2::OutputHandle_t, Tr, T > OutputHandle_t
constexpr static const auto FAILURE
Handles make_vector_of_handles(IDataHandleHolder *owner, const std::vector< std::string > &init)
Helper functions to set/get the application return code.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Out1 * put(DataObjectHandle< Out1 > &out_handle, Out2 &&out)