MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / generateIpairsIterator

Function generateIpairsIterator

framework/luaframework.h:344–359  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

342 return 0;
343}
344template <typename C> int generateIpairsIterator(lua_State *L)
345{
346 C **v = (C **)lua_touserdata(L, 1);
347 lua_pop(L, 1);
348 lua_pushcfunction(L, advanceIpairsIterator<C>);
349 LuaIteratorState<C> *it =
350 (LuaIteratorState<C> *)lua_newuserdata(L, sizeof(LuaIteratorState<C>));
351 new (it) LuaIteratorState<C>((*v)->begin(), (*v)->end());
352 lua_createtable(L, 0, 1);
353
354 lua_pushcfunction(L, (destroyIPairsIterator<C>));
355 lua_setfield(L, -2, "__gc");
356 lua_setmetatable(L, -2);
357 lua_pushinteger(L, 0);
358 return 2;
359}
360
361template <typename C> int destroyIPairsIterator(lua_State *L)
362{

Callers

nothing calls this directly

Calls 2

endMethod · 0.80
beginMethod · 0.45

Tested by

no test coverage detected