123456789101112131415161718192021222324252627282930 |
- #pragma once
- #include "pch.h"
- #include "./include/api.h"
- template <typename... Args>
- struct Callback {
-
-
- using callback_type = void(*)(void*, Args...);
-
- callback_type callback_{};
-
- void* user_data_{};
- int32_t peer{};
- int32_t index{};
-
- constexpr explicit operator bool() const {
- return (callback_ != nullptr);
- }
-
- constexpr void operator()(Args... args) const {
- if (callback_ != nullptr) {
- (*callback_)(user_data_, std::forward<Args>(args)...);
- }
- }
- };
|