Derive-C
Loading...
Searching...
No Matches
iterators.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#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)
 

Macro Definition Documentation

◆ 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);)