Steve Checkoway 943ba7e0fa FOREACH_LUATABLE simplifies iterating over all key-value pairs in the lua table at index. One difference with calling lua_next() is that the key is duplicated and pushed onto the stack above the value. At the beginning of the loop body the stack looks like:
-1 key
-2 value
-3 key
...
The top key and value can be removed or modified as required. The key at -3 should not be touched since it is required for the next iteration through the loop.

Stack management is simplified. Anything left on the stack above the key will be popped. After the loop terminates normally, the stack will be as it was before the loop was entered (no nil values to clean up).
2006-10-15 03:15:32 +00:00
S
Description
554 MiB
Languages
C++ 85.7%
Lua 4.3%
C 4.3%
Rich Text Format 2.3%
CMake 1.1%
Other 2%