7namespace opcua::services::detail {
16struct CallbackAdapter {
18 opcua::detail::ExceptionCatcher* catcher =
nullptr;
20 template <
typename F,
typename... Args>
21 void invoke(F&& callback, Args&&... args)
const noexcept {
22 if (callback !=
nullptr) {
23 if (catcher !=
nullptr) {
24 catcher->invoke(std::forward<F>(callback), std::forward<Args>(args)...);
27 std::invoke(std::forward<F>(callback), std::forward<Args>(args)...);