Derive-C
Loading...
Searching...
No Matches
for.h File Reference

Go to the source code of this file.

Macros

#define _DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, ITER_TYPE, ITER_GET)
#define DC_FOR(TYPE, INSTANCE, ITER, ITEM)
#define DC_FOR_CONST(TYPE, INSTANCE, ITER, ITEM)

Macro Definition Documentation

◆ _DC_FOR_INNER

#define _DC_FOR_INNER ( TYPE,
INSTANCE,
ITER,
ITEM,
ITER_TYPE,
ITER_GET )
Value:
NS(TYPE, ITER_TYPE) ITER = NS(TYPE, ITER_GET)(INSTANCE); \
while (!NS(NS(TYPE, ITER_TYPE), empty)(&ITER)) \
for (int _dc_for_once = 1; _dc_for_once; _dc_for_once = 0) \
for (NS(NS(TYPE, ITER_TYPE), item) ITEM = NS(NS(TYPE, ITER_TYPE), next)(&ITER); \
_dc_for_once; _dc_for_once = 0)
#define ITEM
Definition template.h:36
static DC_PUBLIC IV_PAIR next(ITER *iter)
Definition template.h:355
static DC_PUBLIC bool empty(ITER const *iter)
Definition template.h:349
#define ITER
Definition template.h:322
IV_PAIR item
Definition template.h:281
#define NS(pre, post)
Definition namespace.h:14

Definition at line 6 of file for.h.

6#define _DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, ITER_TYPE, ITER_GET) \
7 NS(TYPE, ITER_TYPE) ITER = NS(TYPE, ITER_GET)(INSTANCE); \
8 while (!NS(NS(TYPE, ITER_TYPE), empty)(&ITER)) \
9 for (int _dc_for_once = 1; _dc_for_once; _dc_for_once = 0) \
10 for (NS(NS(TYPE, ITER_TYPE), item) ITEM = NS(NS(TYPE, ITER_TYPE), next)(&ITER); \
11 _dc_for_once; _dc_for_once = 0)

◆ DC_FOR

#define DC_FOR ( TYPE,
INSTANCE,
ITER,
ITEM )
Value:
_DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, iter, get_iter)
static DC_PUBLIC ITER get_iter(SELF *self)
Definition template.h:373
#define _DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, ITER_TYPE, ITER_GET)
Definition for.h:6
Examples
complex/employees.c, and container/arena.c.

Definition at line 13 of file for.h.

◆ DC_FOR_CONST

#define DC_FOR_CONST ( TYPE,
INSTANCE,
ITER,
ITEM )
Value:
_DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, iter_const, get_iter_const)
static DC_PUBLIC ITER_CONST get_iter_const(SELF const *self)
Definition template.h:464
Examples
container/bitset.c, container/map.c, container/set.c, and container/vector.c.

Definition at line 14 of file for.h.

14#define DC_FOR_CONST(TYPE, INSTANCE, ITER, ITEM) \
15 _DC_FOR_INNER(TYPE, INSTANCE, ITER, ITEM, iter_const, get_iter_const)