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

Go to the source code of this file.

Macros

#define FOR_INNER(TYPE, INSTANCE, ITEM, ACCESS)
#define FOR(TYPE, INSTANCE, ITEM)
#define FOR_CONST(TYPE, INSTANCE, ITEM)

Macro Definition Documentation

◆ FOR

#define FOR ( TYPE,
INSTANCE,
ITEM )
Value:
FOR_INNER(TYPE, INSTANCE, ITEM, get_iter)
#define ITEM
Definition template.h:58
static ITER get_iter(SELF *self)
Definition template.h:388
#define FOR_INNER(TYPE, INSTANCE, ITEM, ACCESS)
Definition for.h:3

Definition at line 9 of file for.h.

◆ FOR_CONST

#define FOR_CONST ( TYPE,
INSTANCE,
ITEM )
Value:
FOR_INNER(TYPE, INSTANCE, ITEM, get_iter_const)
static ITER_CONST get_iter_const(SELF const *self)
Definition template.h:465

Definition at line 10 of file for.h.

◆ FOR_INNER

#define FOR_INNER ( TYPE,
INSTANCE,
ITEM,
ACCESS )
Value:
NS(TYPE, iter) NS(INSTANCE, iter_instance) = NS(TYPE, ACCESS)(&INSTANCE); \
for (NS(NS(TYPE, iter), item) ITEM = NS(NS(TYPE, iter), next)(&NS(INSTANCE, iter_instance)); \
!NS(NS(TYPE, iter), empty_item)(&ITEM); \
ITEM = NS(NS(TYPE, iter), next)(&NS(INSTANCE, iter_instance)))
static bool empty_item(IV_PAIR const *const *item)
Definition template.h:352
IV_PAIR const * item
Definition template.h:350
static IV_PAIR const * next(ITER *iter)
Definition template.h:370
#define NS(pre, post)
Definition namespace.h:4

Definition at line 3 of file for.h.

3#define FOR_INNER(TYPE, INSTANCE, ITEM, ACCESS) \
4 NS(TYPE, iter) NS(INSTANCE, iter_instance) = NS(TYPE, ACCESS)(&INSTANCE); \
5 for (NS(NS(TYPE, iter), item) ITEM = NS(NS(TYPE, iter), next)(&NS(INSTANCE, iter_instance)); \
6 !NS(NS(TYPE, iter), empty_item)(&ITEM); \
7 ITEM = NS(NS(TYPE, iter), next)(&NS(INSTANCE, iter_instance)))