16 namespace Gaudi ::Functional {
20 template <
typename Signature,
typename Traits_,
bool isLegacy>
24 template <
typename Out,
typename... In,
typename Traits_>
42 virtual Out
operator()(
const In&... )
const = 0;
45 template <
typename Out,
typename... In,
typename Traits_>
63 virtual Out
operator()(
const In&... )
const = 0;
69 template <
typename Signature,
typename Traits_,
bool isLegacy>
72 template <
typename... Out,
typename... In,
typename Traits_>
81 [
this](
auto&... ohandle ) {
83 #if defined( __clang__ ) && ( __clang_major__ < 6 ) 85 # pragma clang diagnostic push 86 # pragma clang diagnostic ignored "-Wunused-lambda-capture" 89 [&ohandle...](
auto&&... data ) {
90 ( details::put( ohandle, std::forward<decltype( data )>( data ) ), ... );
94 #if defined( __clang__ ) && ( __clang_major__ < 6 ) 95 # pragma clang diagnostic pop 110 template <
typename... Out,
typename... In,
typename Traits_>
119 [
this, &ctx](
auto&... ohandle ) {
121 #if defined( __clang__ ) && ( __clang_major__ < 6 ) 123 # pragma clang diagnostic push 124 # pragma clang diagnostic ignored "-Wunused-lambda-capture" 127 [&ohandle...](
auto&&... data ) {
128 ( details::put( ohandle, std::forward<decltype( data )>( data ) ), ... );
132 #if defined( __clang__ ) && ( __clang_major__ < 6 ) 133 # pragma clang diagnostic pop 151 template <
typename Signature,
typename Traits_,
bool isLegacy>
154 template <
typename... Out,
typename... In,
typename Traits_>
163 [&](
auto&... ohandle ) {
165 [&ohandle...,
this](
bool passed,
auto&&... data ) {
166 this->setFilterPassed( passed );
167 ( details::put( ohandle, std::forward<decltype( data )>( data ) ), ... );
183 template <
typename... Out,
typename... In,
typename Traits_>
192 [&](
auto&... ohandle ) {
194 [&ohandle..., &ctx,
this](
bool passed,
auto&&... data ) {
195 this->execState( ctx ).setFilterPassed( passed );
196 ( details::put( ohandle, std::forward<decltype( data )>( data ) ), ... );
213 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
216 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
219 template <
typename Signature,
typename Traits_ = Traits::useDefaults>
class MergingTransformer< Out(const vector_of_const_< In > true
virtual const std::string & message() const
error message to be printed
Define general base for Gaudi exception.
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
constexpr static const auto SUCCESS
typename filter_evtcontext_t< In... >::type filter_evtcontext
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_
This class is used for returning status codes from appropriate routines.
Out1 * put(const DataObjectHandle< Out1 > &out_handle, Out2 &&out)
class MergingTransformer< Out(const vector_of_const_< In > false
Header file for std:chrono::duration-based Counters.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.