diff options
Diffstat (limited to '3rdparty/sol2/examples/usertype_var.cpp')
-rw-r--r-- | 3rdparty/sol2/examples/usertype_var.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/3rdparty/sol2/examples/usertype_var.cpp b/3rdparty/sol2/examples/usertype_var.cpp deleted file mode 100644 index 9f56490aa29..00000000000 --- a/3rdparty/sol2/examples/usertype_var.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#define SOL_CHECK_ARGUMENTS -#include <sol.hpp> -#include <iostream> - -struct test { - static int number; -}; -int test::number = 25; - - -int main() { - sol::state lua; - lua.open_libraries(); - lua.new_usertype<test>("test", - "direct", sol::var(2), - "number", sol::var(test::number), - "ref_number", sol::var(std::ref(test::number)) - ); - - int direct_value = lua["test"]["direct"]; - assert(direct_value == 2); - // direct_value == 2 - - int number = lua["test"]["number"]; - assert(number == 25); - int ref_number = lua["test"]["ref_number"]; - assert(ref_number == 25); - - test::number = 542; - - assert(lua["test"]["number"] == 25); - // number is its own memory: was passed by value - // So does not change - - assert(lua["test"]["ref_number"] == 542); - // ref_number is just test::number - // passed through std::ref - // so, it holds a reference - // which can be updated - // be careful about referencing local variables, - // if they go out of scope but are still reference - // you'll suffer dangling reference bugs! - - return 0; -}
\ No newline at end of file |