1 #ifndef MERGING_TRANSFORMER_H 2 #define MERGING_TRANSFORMER_H 12 namespace Functional {
14 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
20 template <
typename Out,
typename In,
typename Traits_>
38 vector_of_const_<In> ins;
52 virtual Out
operator()(
const vector_of_const_<In>& inputs )
const = 0;
64 template <
typename Out,
typename In,
typename Traits_>
69 : base_class( name, pSvcLocator, output )
78 [](
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...
Gaudi::Property< std::vector< std::string > > m_inputLocations
Implementation of property with value of concrete type.
Gaudi::cpp17::detected_or_t< DataObjectReadHandle< T >, detail2::InputHandle_t, Tr, T > InputHandle_t
StatusCode execute() override final
Gaudi::tagged_bool< class ImmediatelyInvokeHandler_tag > ImmediatelyInvokeHandler
constexpr static const auto SUCCESS
class MergingTransformer< Out(const vector_of_const_< In > void
details::InputHandle_t< Traits_, typename std::remove_pointer< T >::type > InputHandle_t
virtual const StatusCode & code() const
StatusCode for Exception.
unsigned int inputLocationSize() const
class MergingTransformer< Out(const vector_of_const_< In > Traits_
This class is used for returning status codes from appropriate routines.
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
constexpr std::add_const_t< T > & as_const(T &t) noexcept
std::vector< InputHandle_t< In > > m_inputs
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
const std::string & inputLocation(unsigned int n) const
T back_inserter(T...args)
MergingTransformer(const std::string &name, ISvcLocator *locator, const KeyValues &inputs, const KeyValue &output)
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)