seqlua

annotate seqlualib.h @ 53:664736a8fcbf

Included mode argument for seqlua_iterloop in README
author jbe
date Tue Aug 26 23:53:29 2014 +0200 (2014-08-26)
parents 3362ec36cb09
children 92ce3958aca7
rev   line source
jbe@0 1 #include <lua.h>
jbe@0 2 #include <lauxlib.h>
jbe@0 3
jbe@0 4 typedef struct {
jbe@0 5 lua_State *L;
jbe@8 6 int idx;
jbe@0 7 int itertype;
jbe@0 8 lua_Integer i;
jbe@0 9 } seqlua_Iterator;
jbe@0 10
jbe@52 11 #define SEQLUA_MODE_NONE 0
jbe@52 12 #define SEQLUA_MODE_CALL 1
jbe@52 13 #define SEQLUA_MODE_GENERATOR 2
jbe@52 14
jbe@52 15 extern void seqlua_iterinit(lua_State *L, seqlua_Iterator *iter, int mode, int idx);
jbe@0 16
jbe@0 17 extern int seqlua_iternext(seqlua_Iterator *iter);
jbe@0 18
jbe@52 19 #define seqlua_iterloop(L, iter, mode, idx) \
jbe@0 20 for ( \
jbe@52 21 seqlua_iterinit((L), (iter), (mode), (idx)); \
jbe@0 22 seqlua_iternext(iter); \
jbe@25 23 )
jbe@25 24
jbe@52 25 #define seqlua_iterloopauto(L, iter, mode, idx) \
jbe@25 26 for ( \
jbe@52 27 seqlua_iterinit((L), (iter), (mode), (idx)); \
jbe@25 28 seqlua_iternext(iter); \
jbe@0 29 lua_pop((L), 1) \
jbe@0 30 )
jbe@0 31
jbe@0 32 #define seqlua_itercount(iter) ((iter)->i)
jbe@0 33

Impressum / About Us