Wiesner András 22233ce62d - earlier capabilities are accessible from Python
- MultiStreamReceiver and SampleWriter cleaned
- AcquisitionFormat introduced
- Logger created
- MultiStreamProcessor idea introduced, MultiStreamToFile introduced
- MATLAB scripts have been modified to load new capture folder structure
- began implementing MultiStreamOscilloscope
2022-05-05 00:11:48 +02:00

30 lines
693 B
C++

//
// Created by epagris on 2021. 11. 18..
//
#ifndef WFR_CALLBACK_H
#define WFR_CALLBACK_H
#include <functional>
template <typename... ParamTypes>
class CallbackBase {
public:
virtual void operator()(ParamTypes... params) = 0;
};
template <typename T, typename... ParamTypes>
class Callback : public CallbackBase<ParamTypes...> {
public:
T * pObj; // pointer to object to call the function on
void(T::*pFN)(ParamTypes... params); // member function pointer
Callback(T * pObj, void(T::*pFN)(ParamTypes... params)) : pObj(pObj), pFN(pFN) {}
void operator()(ParamTypes... params) override {
std::invoke(pFN, *pObj, params...);
}
};
#endif //WFR_CALLBACK_H