1 #ifndef MERGING_TRANSFORMER_H 2 #define MERGING_TRANSFORMER_H 16 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
22 template <
typename Out,
typename In,
typename Traits_>
38 virtual Out operator()( const vector_of_const_<In>& inputs ) const = 0;
48 template <typename Out, typename In, typename Traits_>
53 : base_class( name, pSvcLocator,
output ), m_inputLocations( inputs.
second )
62 std::for_each( this->m_inputs.begin(), this->m_inputs.end(), [](
auto& h ) { h.setOptional(
true ); } );
65 p->useUpdateHandler();
68 template <
typename Out,
typename In,
typename Traits_>
71 vector_of_const_<In> ins;
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...
StatusCode execute() override final
struct GAUDI_API vector
Parametrisation class for vector-like implementation.
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.
This class is used for returning status codes from appropriate routines.
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
std::vector< std::string > m_inputLocations
constexpr static const auto SUCCESS
constexpr std::add_const_t< T > & as_const(T &t) noexcept
std::vector< InputHandle_t< In > > m_inputs
T back_inserter(T...args)
MergingTransformer(const std::string &name, ISvcLocator *locator, const KeyValues &inputs, const KeyValue &output)
struct[[deprecated("use MergingTransformer instead")]] Traits_
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)