diff options
Diffstat (limited to 'vector.h')
-rw-r--r-- | vector.h | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -24,13 +24,17 @@ TYPE* GET(VECT(TYPE))(VECT(TYPE)*, unsigned int idx); int EMPTY(VECT(TYPE))(VECT(TYPE)*); unsigned int SIZE(VECT(TYPE))(VECT(TYPE)*); -#define __BEG_VECT(i, set) unsigned int i = 0 +#define __PRE_VECT(T, i, set) \ + unsigned int __INTER(i) = 0; T* i; +#define PRE_FOR_VECT(T) __PRE_VECT + +#define __BEG_VECT(T, i, set) i = GET(VECT(T))(set, __INTER(i)) #define BEG_VECT(T) __BEG_VECT -#define __END_VECT(i, set) (set) > i -#define END_VECT(T) SIZE(VECT(T)) __END_VECT +#define __END_VECT(T, i, set) __INTER(i) < SIZE(VECT(T))(set) +#define END_VECT(T) __END_VECT -#define __NXT_VECT(l, set) i++ +#define __NXT_VECT(T, i, set) i = GET(VECT(T))(set, ++__INTER(i)) #define NXT_VECT(T) __NXT_VECT #endif /* TYPE */ |