From c467671ae8b6ec161c17e86f3383fd0625f755b8 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 19 Aug 2022 19:48:10 -0400 Subject: remove sol2 (will re-add as submodule) --- lib/sol2/examples/source/read_only.cpp | 49 ---------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 lib/sol2/examples/source/read_only.cpp (limited to 'lib/sol2/examples/source/read_only.cpp') diff --git a/lib/sol2/examples/source/read_only.cpp b/lib/sol2/examples/source/read_only.cpp deleted file mode 100644 index 27af9b2..0000000 --- a/lib/sol2/examples/source/read_only.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include - -struct object { - void my_func() { - std::cout << "hello\n"; - } -}; - -int deny(lua_State* L) { - return luaL_error(L, "HAH! Deniiiiied!"); -} - -int main(int, char*[]) { - - sol::state lua; - lua.open_libraries(sol::lib::base); - - object my_obj; - - sol::table obj_table = lua.create_named_table("object"); - - sol::table obj_metatable = lua.create_table_with(); - obj_metatable.set_function("my_func", &object::my_func, &my_obj); - // Set whatever else you need to - // on the obj_metatable, - // not on the obj_table itself! - - // Properly self-index metatable to block things - obj_metatable[sol::meta_function::new_index] = deny; - obj_metatable[sol::meta_function::index] = obj_metatable; - - // Set it on the actual table - obj_table[sol::metatable_key] = obj_metatable; - - try { - lua.script(R"( -print(object.my_func) -object["my_func"] = 24 -print(object.my_func) - )"); - } - catch (const std::exception& e) { - std::cout << "an expected error occurred: " << e.what() << std::endl; - } - return 0; -} \ No newline at end of file -- cgit v1.2.3