From dc2493e7525bb7633f697ef10f72b72b46222249 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:45:36 -0400 Subject: Forget what I said, I just need to change git attributes to mark for vendor --- deps/sol2/examples/source/require.cpp | 52 ----------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 deps/sol2/examples/source/require.cpp (limited to 'deps/sol2/examples/source/require.cpp') diff --git a/deps/sol2/examples/source/require.cpp b/deps/sol2/examples/source/require.cpp deleted file mode 100644 index 0b485ad..0000000 --- a/deps/sol2/examples/source/require.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include "assert.hpp" -#include - -struct some_class { - int bark = 2012; -}; - -sol::table open_mylib(sol::this_state s) { - sol::state_view lua(s); - - sol::table module = lua.create_table(); - module["func"] = []() { - /* super cool function here */ - return 2; - }; - // register a class too - module.new_usertype("some_class", - "bark", &some_class::bark - ); - - return module; -} - -int main() { - std::cout << "=== require ===" << std::endl; - - sol::state lua; - lua.open_libraries(sol::lib::package, sol::lib::base); - // sol::c_call takes functions at the template level - // and turns it into a lua_CFunction - // alternatively, one can use sol::c_call> to make the call - // if it's a constexpr struct - lua.require("my_lib", sol::c_call); - - // run some code against your require'd library - lua.safe_script(R"( -s = my_lib.some_class.new() -assert(my_lib.func() == 2) -s.bark = 20 -)"); - - some_class& s = lua["s"]; - c_assert(s.bark == 20); - std::cout << "s.bark = " << s.bark << std::endl; - - std::cout << std::endl; - - return 0; -} \ No newline at end of file -- cgit v1.2.3