Posted to tcl by dkf at Wed Mar 17 10:55:49 GMT 2010view raw

  1. #define FOREACH(var,ary) \
  2. for(i=0 ; (i<(ary).num?((var=(ary).list[i]),1):0) ; i++)
  3. #define FOREACH_HASH(key,val,tablePtr) \
  4. for(hPtr=Tcl_FirstHashEntry((tablePtr),&search); hPtr!=NULL ? \
  5. ((key)=(void *)Tcl_GetHashKey((tablePtr),hPtr),\
  6. (val)=Tcl_GetHashValue(hPtr),1):0; hPtr=Tcl_NextHashEntry(&search))