26 using callbackfunction_t = std::function<R(Args...)>;
28 Callback() : callback_(nullptr), is_callback_set(false){}
29 Callback(callbackfunction_t&& callback) noexcept :
30 callback_(callback), is_callback_set(
true){}
32 inline void set(callbackfunction_t&& callback) {
34 is_callback_set =
true;
39 is_callback_set =
false;
42 [[deprecated(
"Use operator () instead.")]]
43 inline R
call(Args... args) {
44 return *
this(args...);
48 return is_callback_set;
55 if constexpr (std::is_void<R>::value) {
56 if (!is_callback_set) {
61 }
else if constexpr (std::is_class<R>::value) {
62 if (!is_callback_set) {
65 return (callback_)(args...);
68 if (!is_callback_set) {
71 return (callback_)(args...);
77 callbackfunction_t callback_;