Derive-C
Loading...
Searching...
No Matches
for.h
Go to the documentation of this file.
1#pragma once
2
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)))
8
9#define FOR(TYPE, INSTANCE, ITEM) FOR_INNER(TYPE, INSTANCE, ITEM, get_iter)
10#define FOR_CONST(TYPE, INSTANCE, ITEM) FOR_INNER(TYPE, INSTANCE, ITEM, get_iter_const)