Allow invoke of functions with signature void(void) in basyx::object
Change-Id: I4de87525fe25d2595b275a79b9b99f6033f541eb
Signed-off-by: Thomas Psota <thomas.psota@iese.fraunhofer.de>
diff --git a/sdks/c++/basys.sdk.cc/include/BaSyx/shared/object/obj_function.h b/sdks/c++/basys.sdk.cc/include/BaSyx/shared/object/obj_function.h
index b1736e3..d86035c 100644
--- a/sdks/c++/basys.sdk.cc/include/BaSyx/shared/object/obj_function.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/shared/object/obj_function.h
@@ -34,6 +34,18 @@
return func(&obj);
};
+ // Wrap void function with no arguments
+ static functionWrapper wrap_func(std::function<void(void)> f)
+ {
+ functionWrapper fw;
+ fw.func = [f](basyx::object*)
+ {
+ f();
+ return basyx::object::make_null();
+ };
+ return fw;
+ };
+
// Wrap function with no arguments
template<typename RetType>
static functionWrapper wrap_func(std::function<RetType(void)> f)