seqlua

annotate seqlualib.h @ 25:44880bcfc323

Macro seqlua_iterloop doesn't automatically pop the value anymore (use seqlua_iterloopauto instead); New function string.concat(sep, seq) introduced
author jbe
date Thu Aug 21 21:32:01 2014 +0200 (2014-08-21)
parents 28d472cc7a9b
children 367fc70acc15
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@0 11 extern void seqlua_iterinit(lua_State *L, seqlua_Iterator *iter, int idx);
jbe@0 12
jbe@0 13 extern int seqlua_iternext(seqlua_Iterator *iter);
jbe@0 14
jbe@0 15 #define seqlua_iterloop(L, iter, idx) \
jbe@0 16 for ( \
jbe@0 17 seqlua_iterinit((L), (iter), (idx)); \
jbe@0 18 seqlua_iternext(iter); \
jbe@25 19 )
jbe@25 20
jbe@25 21 #define seqlua_iterloopauto(L, iter, idx) \
jbe@25 22 for ( \
jbe@25 23 seqlua_iterinit((L), (iter), (idx)); \
jbe@25 24 seqlua_iternext(iter); \
jbe@0 25 lua_pop((L), 1) \
jbe@0 26 )
jbe@0 27
jbe@0 28 #define seqlua_itercount(iter) ((iter)->i)
jbe@0 29

Impressum / About Us