Go to the source code of this file.
|
#define | ITER_LOOP(ITER_TYPE, ITER_NAME, VALUE_TYPE, VALUE_NAME) |
|
#define | ITER_ENUMERATE_LOOP(ITER_TYPE, ITER_NAME, VALUE_TYPE, VALUE_NAME, COUNTER_TYPE, COUNTER_NAME) |
|
◆ ITER_ENUMERATE_LOOP
#define ITER_ENUMERATE_LOOP |
( |
| ITER_TYPE, |
|
|
| ITER_NAME, |
|
|
| VALUE_TYPE, |
|
|
| VALUE_NAME, |
|
|
| COUNTER_TYPE, |
|
|
| COUNTER_NAME ) |
Value: COUNTER_TYPE COUNTER_NAME = 0; \
for (VALUE_TYPE VALUE_NAME; \
(!ITER_TYPE##_empty(&ITER_NAME) ? (VALUE_NAME = ITER_TYPE##_next(&ITER_NAME), true) \
: false); \
COUNTER_NAME++)
- Examples
- complex/prime_sieve.c, and structures/hashmap.c.
Definition at line 7 of file iterators.h.
◆ ITER_LOOP
#define ITER_LOOP |
( |
| ITER_TYPE, |
|
|
| ITER_NAME, |
|
|
| VALUE_TYPE, |
|
|
| VALUE_NAME ) |
Value: for (VALUE_TYPE VALUE_NAME; \
(!ITER_TYPE##_empty(&ITER_NAME) ? (VALUE_NAME = ITER_TYPE##_next(&ITER_NAME), true) \
: false);)
- Examples
- structures/arena.c, and structures/vector.c.
Definition at line 2 of file iterators.h.
2#define ITER_LOOP(ITER_TYPE, ITER_NAME, VALUE_TYPE, VALUE_NAME) \
3 for (VALUE_TYPE VALUE_NAME; \
4 (!ITER_TYPE##_empty(&ITER_NAME) ? (VALUE_NAME = ITER_TYPE##_next(&ITER_NAME), true) \
5 : false);)