1 #ifndef Framework_Callback_h
2 #define Framework_Callback_h
28 namespace eventsetup {
36 template<
typename TRecord>
38 void pre(
const TRecord&) {}
39 void post(
const TRecord&) {}
46 =CallbackSimpleDecorator<TRecord> >
53 const TDecorator& iDec = TDecorator()) :
85 setData(iReturn, static_cast<typename type::head_type*>(
nullptr), static_cast<const typename type::tail_type *>(
nullptr));
88 template<
class RemainingContainerT,
class DataT,
class ProductsT>
89 void setData(ProductsT& iProducts,
const RemainingContainerT*,
const DataT*) {
91 if(0 != temp) {
copyFromTo(iProducts, *temp); }
92 setData(iProducts, static_cast< const typename RemainingContainerT::head_type *>(
nullptr),
93 static_cast< const typename RemainingContainerT::tail_type *>(
nullptr));
95 template<
class DataT,
class ProductsT>
100 if(0 != temp) {
copyFromTo(iProducts, *temp); }
void storeReturnedValues(TReturn iReturn)
void setData(ProductsT &iProducts, const RemainingContainerT *, const DataT *)
void holdOntoPointer(DataT *iData)
std::vector< void * > proxyData_
void pre(const TRecord &)
void setData(ProductsT &iProducts, const produce::Null *, const DataT *)
TReturn(T::* method_type)(const TRecord &)
Callback(T *iProd, method_type iMethod, const TDecorator &iDec=TDecorator())
void post(const TRecord &)
void operator()(const TRecord &iRecord)
bool wasCalledForThisRecord_
void copyFromTo(FromT &iFrom, ToT &iTo)
const Callback & operator=(const Callback &)
volatile std::atomic< bool > shutdown_flag false
tuple size
Write out results.