1 #ifndef MERGING_TRANSFORMER_H 2 #define MERGING_TRANSFORMER_H 13 using details::vector_of_const_;
17 template <
typename Signature,
typename Traits_,
bool isLegacy>
21 template <
typename Out,
typename In,
typename Traits_>
32 : base_class( name, locator, output )
37 if ( std::is_pointer_v<In> ) {
41 [](
auto& h ) { h.setOptional(
true ); } );
57 details::put( std::get<0>( this->m_outputs ), std::as_const( *
this )( std::as_const( ins ) ) );
77 template <
typename Out,
typename In,
typename Traits_>
88 : base_class( name, locator, output )
93 if ( std::is_pointer_v<In> ) {
97 [](
auto& h ) { h.setOptional(
true ); } );
113 details::put( std::get<0>( this->m_outputs ), ( *
this )( std::as_const( ins ) ) );
125 template <
typename T>
135 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
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...
void reserve(size_type size)
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
Implementation of property with value of concrete type.
typename base_class::KeyValue KeyValue
unsigned int inputLocationSize() const
typename base_class::KeyValues KeyValues
Gaudi::tagged_bool< class ImmediatelyInvokeHandler_tag > ImmediatelyInvokeHandler
constexpr static const auto SUCCESS
This class represents an entry point to all the event specific data.
virtual const StatusCode & code() const
StatusCode for Exception.
std::vector< InputHandle_t< In > > m_inputs
class MergingTransformer< Out(const vector_of_const_< In > Traits_
StatusCode execute() override final
Gaudi::cpp17::detected_or_t< DataObjectReadHandle< T >, detail2::InputHandle_t, Tr, T > InputHandle_t
This class is used for returning status codes from appropriate routines.
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
MergingTransformer(const std::string &name, ISvcLocator *locator, const KeyValues &inputs, const KeyValue &output)
T back_inserter(T...args)
Out1 * put(const DataObjectHandle< Out1 > &out_handle, Out2 &&out)
Gaudi::Property< std::vector< std::string > > m_inputLocations
class MergingTransformer< Out(const vector_of_const_< In > void
const std::string & inputLocation(unsigned int n) const
Handles make_vector_of_handles(IDataHandleHolder *owner, const std::vector< std::string > &init)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.