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

Go to the source code of this file.

Macros

#define DC_TRAIT_ITER(SELF)
#define DC_TRAIT_ITERABLE(SELF)

Macro Definition Documentation

◆ DC_TRAIT_ITER

#define DC_TRAIT_ITER ( SELF)
Value:
DC_REQUIRE_METHOD(NS(SELF, item), SELF, next, (SELF*)); \
DC_REQUIRE_METHOD(bool, SELF, empty_item, (NS(SELF, item) const*));
static IV_PAIR next(ITER *iter)
Definition template.h:352
static bool empty_item(IV_PAIR const *item)
Definition template.h:344
IV_PAIR item
Definition template.h:283
#define NS(pre, post)
Definition namespace.h:4
#define DC_REQUIRE_TYPE(obj, name)
Definition require.h:21
#define SELF
Definition def.h:52

Definition at line 6 of file iter.h.

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_item, (NS(SELF, item) const*));

◆ DC_TRAIT_ITERABLE

#define DC_TRAIT_ITERABLE ( SELF)
Value:
DC_REQUIRE_TYPE(SELF, iter_const); \
DC_REQUIRE_METHOD(NS(SELF, iter), SELF, get_iter, (SELF*)); \
DC_REQUIRE_METHOD(NS(SELF, iter_const), SELF, get_iter_const, (SELF const*)); \
DC_TRAIT_ITER(NS(SELF, iter)); \
DC_TRAIT_ITER(NS(SELF, iter_const));
static ITER_CONST get_iter_const(SELF const *self)
Definition template.h:449
static ITER get_iter(SELF *self)
Definition template.h:370

Definition at line 11 of file iter.h.

11#define DC_TRAIT_ITERABLE(SELF) \
12 DC_REQUIRE_TYPE(SELF, iter); \
13 DC_REQUIRE_TYPE(SELF, iter_const); \
14 DC_REQUIRE_METHOD(NS(SELF, iter), SELF, get_iter, (SELF*)); \
15 DC_REQUIRE_METHOD(NS(SELF, iter_const), SELF, get_iter_const, (SELF const*)); \
16 DC_TRAIT_ITER(NS(SELF, iter)); \
17 DC_TRAIT_ITER(NS(SELF, iter_const));