h1-mod/deps/sol2/examples/source/docs/as_function.cpp
2024-03-07 00:54:32 -05:00

22 lines
466 B
C++

#define SOL_ALL_SAFETIES_ON 1
#include <sol/sol.hpp>
int main() {
struct callable {
int operator()(int a, bool b) {
return a + (b ? 10 : 20);
}
};
sol::state lua;
// Binds struct as userdata
// can still be callable, but beware
// caveats
lua.set("not_func", callable());
// Binds struct as function
lua.set("func", sol::as_function(callable()));
// equivalent: lua.set_function( "func", callable() );
// equivalent: lua["func"] = callable();
}