Derive-C
Loading...
Searching...
No Matches
for.h
Go to the documentation of this file.
1#pragma once
2
3// Need to work out a better way here - do not use instance name, use counter!
4#define FOR_INNER(TYPE, INSTANCE, ITER, ITEM, ITER_TYPE, ITER_GET) \
5 NS(TYPE, ITER_TYPE) ITER = NS(TYPE, ITER_GET)(INSTANCE); \
6 for (NS(NS(TYPE, ITER_TYPE), item) ITEM = NS(NS(TYPE, ITER_TYPE), next)(&ITER); \
7 !NS(NS(TYPE, ITER_TYPE), empty_item)(&ITEM); ITEM = NS(NS(TYPE, ITER_TYPE), next)(&ITER))
8
9#define FOR(TYPE, INSTANCE, ITER, ITEM) FOR_INNER(TYPE, INSTANCE, ITER, ITEM, iter, get_iter)
10#define FOR_CONST(TYPE, INSTANCE, ITER, ITEM) \
11 FOR_INNER(TYPE, INSTANCE, ITER, ITEM, iter_const, get_iter_const)