diff options
Diffstat (limited to 'deep_userdata_example/deep_userdata_example.cpp')
-rw-r--r-- | deep_userdata_example/deep_userdata_example.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/deep_userdata_example/deep_userdata_example.cpp b/deep_userdata_example/deep_userdata_example.cpp index 075cfbe..6845ff1 100644 --- a/deep_userdata_example/deep_userdata_example.cpp +++ b/deep_userdata_example/deep_userdata_example.cpp | |||
@@ -25,7 +25,7 @@ class MyDeepFactory final : public DeepFactory | |||
25 | 25 | ||
26 | // ################################################################################################# | 26 | // ################################################################################################# |
27 | 27 | ||
28 | // a lanes-deep userdata. needs DeepPrelude and luaG_newdeepuserdata from Lanes code. | 28 | // a lanes-deep userdata. needs DeepPrelude and luaW_newdeepuserdata from Lanes code. |
29 | struct MyDeepUserdata : public DeepPrelude // Deep userdata MUST start with a DeepPrelude | 29 | struct MyDeepUserdata : public DeepPrelude // Deep userdata MUST start with a DeepPrelude |
30 | { | 30 | { |
31 | std::atomic<int> inUse{}; | 31 | std::atomic<int> inUse{}; |
@@ -82,7 +82,7 @@ static int deep_tostring(lua_State* const L_) | |||
82 | { | 82 | { |
83 | MyDeepUserdata* const _self{ static_cast<MyDeepUserdata*>(MyDeepFactory::Instance.toDeep(L_, StackIndex{ 1 })) }; | 83 | MyDeepUserdata* const _self{ static_cast<MyDeepUserdata*>(MyDeepFactory::Instance.toDeep(L_, StackIndex{ 1 })) }; |
84 | _self->inUse.fetch_add(1, std::memory_order_seq_cst); | 84 | _self->inUse.fetch_add(1, std::memory_order_seq_cst); |
85 | luaG_pushstring(L_, "%p:deep(%d)", _self, _self->val); | 85 | luaW_pushstring(L_, "%p:deep(%d)", _self, _self->val); |
86 | _self->inUse.fetch_sub(1, std::memory_order_seq_cst); | 86 | _self->inUse.fetch_sub(1, std::memory_order_seq_cst); |
87 | return 1; | 87 | return 1; |
88 | } | 88 | } |
@@ -241,7 +241,7 @@ static int clonable_getuv(lua_State* const L_) | |||
241 | static int clonable_tostring(lua_State* const L_) | 241 | static int clonable_tostring(lua_State* const L_) |
242 | { | 242 | { |
243 | MyClonableUserdata* _self = static_cast<MyClonableUserdata*>(lua_touserdata(L_, 1)); | 243 | MyClonableUserdata* _self = static_cast<MyClonableUserdata*>(lua_touserdata(L_, 1)); |
244 | luaG_pushstring(L_, "%p:clonable(%d)", lua_topointer(L_, 1), _self->val); | 244 | luaW_pushstring(L_, "%p:clonable(%d)", lua_topointer(L_, 1), _self->val); |
245 | return 1; | 245 | return 1; |
246 | } | 246 | } |
247 | 247 | ||
@@ -299,7 +299,7 @@ int luaD_new_clonable(lua_State* L) | |||
299 | { | 299 | { |
300 | UserValueCount const _nuv{ static_cast<int>(luaL_optinteger(L, 1, 1)) }; | 300 | UserValueCount const _nuv{ static_cast<int>(luaL_optinteger(L, 1, 1)) }; |
301 | lua_newuserdatauv(L, sizeof(MyClonableUserdata), _nuv); | 301 | lua_newuserdatauv(L, sizeof(MyClonableUserdata), _nuv); |
302 | luaG_setmetatable(L, "clonable"); | 302 | luaW_setmetatable(L, "clonable"); |
303 | return 1; | 303 | return 1; |
304 | } | 304 | } |
305 | 305 | ||
@@ -307,7 +307,7 @@ int luaD_new_clonable(lua_State* L) | |||
307 | // ################################################################################################# | 307 | // ################################################################################################# |
308 | 308 | ||
309 | static luaL_Reg const deep_module[] = { | 309 | static luaL_Reg const deep_module[] = { |
310 | { "get_deep_count", luaD_get_deep_count }, | 310 | { "get_deep_count", luaD_get_deep_count }, |
311 | { "new_deep", luaD_new_deep }, | 311 | { "new_deep", luaD_new_deep }, |
312 | { "new_clonable", luaD_new_clonable }, | 312 | { "new_clonable", luaD_new_clonable }, |
313 | { nullptr, nullptr } | 313 | { nullptr, nullptr } |
@@ -317,12 +317,12 @@ static luaL_Reg const deep_module[] = { | |||
317 | 317 | ||
318 | LANES_API int luaopen_deep_userdata_example(lua_State* L) | 318 | LANES_API int luaopen_deep_userdata_example(lua_State* L) |
319 | { | 319 | { |
320 | luaG_newlib<std::size(deep_module)>(L, deep_module); // M | 320 | luaW_newlib<std::size(deep_module)>(L, deep_module); // M |
321 | 321 | ||
322 | // preregister the metatables for the types we can instantiate so that Lanes can know about them | 322 | // preregister the metatables for the types we can instantiate so that Lanes can know about them |
323 | if (luaL_newmetatable(L, "clonable")) // M mt | 323 | if (luaL_newmetatable(L, "clonable")) // M mt |
324 | { | 324 | { |
325 | luaG_registerlibfuncs(L, clonable_mt); | 325 | luaW_registerlibfuncs(L, clonable_mt); |
326 | lua_pushvalue(L, -1); // M mt mt | 326 | lua_pushvalue(L, -1); // M mt mt |
327 | lua_setfield(L, -2, "__index"); // M mt | 327 | lua_setfield(L, -2, "__index"); // M mt |
328 | } | 328 | } |
@@ -330,7 +330,7 @@ LANES_API int luaopen_deep_userdata_example(lua_State* L) | |||
330 | 330 | ||
331 | if (luaL_newmetatable(L, "deep")) // mt | 331 | if (luaL_newmetatable(L, "deep")) // mt |
332 | { | 332 | { |
333 | luaG_registerlibfuncs(L, deep_mt); | 333 | luaW_registerlibfuncs(L, deep_mt); |
334 | lua_pushvalue(L, -1); // mt mt | 334 | lua_pushvalue(L, -1); // mt mt |
335 | lua_setfield(L, -2, "__index"); // mt | 335 | lua_setfield(L, -2, "__index"); // mt |
336 | } | 336 | } |