Derive-C
Loading...
Searching...
No Matches
iter.h
Go to the documentation of this file.
1#pragma once
2
5
6#define DC_TRAIT_ITER(SELF) \
7 DC_REQUIRE_TYPE(SELF, item); \
8 DC_REQUIRE_METHOD(NS(SELF, item), SELF, next, (SELF*)); \
9 DC_REQUIRE_METHOD(bool, SELF, empty, (SELF const*)); \
10 DC_REQUIRE_METHOD(bool, SELF, empty_item, (NS(SELF, item) const*))
11
12#define DC_TRAIT_CONST_ITERABLE(SELF) \
13 DC_REQUIRE_TYPE(SELF, iter_const); \
14 DC_REQUIRE_METHOD(NS(SELF, iter_const), SELF, get_iter_const, (SELF const*)); \
15 DC_TRAIT_ITER(NS(SELF, iter_const))
16
17#define DC_TRAIT_ITERABLE(SELF) \
18 DC_REQUIRE_TYPE(SELF, iter); \
19 DC_REQUIRE_METHOD(NS(SELF, iter), SELF, get_iter, (SELF*)); \
20 DC_TRAIT_ITER(NS(SELF, iter))