x-engine-c v0.2.13
The C engine for x-lang
Loading...
Searching...
No Matches
iter.h
Go to the documentation of this file.
1#ifndef X_TYPE_ITER_H
2#define X_TYPE_ITER_H
3
11/*
12 * ., .,
13 * {O,O}
14 * ( )
15 * " "
16 */
17#include "x-type.h"
18
19#ifndef X_TYPE_ITER_NAME
20#define X_TYPE_ITER_NAME "ITER"
21#endif /* X_TYPE_ITER_NAME */
22
23
26#define x_obj_type_isiter(B,X) x_obj_is_type((B), (X), X_TYPE_ITER_NAME)
37#define x_iterprim(X) x_firstobj((X))
38#define x_iterval(X) x_restobj((X))
39#define x_iterempty(B,X) x_obj_isnil((B), x_iterval(X))
44#define x_mkiter(B, FN, L) x_make_iter((B), X_OBJ_FLAG_NONE, (FN), (L))
45#define x_mkfiter(B, F, FN, L) x_make_iter((B), (F), (FN), (L))
49x_obj_t *x_make_iter(x_obj_t *p_base, x_obj_flag_t flags, void *p1, void *p2);
60
61#endif /* X_TYPE_ITER_H */
static void x_obj_t * p_args
Definition x-prim.h:56
x_obj_t * x_type_iter_step(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:172
x_obj_t * x_type_iter_next(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:127
x_obj_t * x_type_iter_struct(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:54
x_obj_t * x_make_iter(x_obj_t *p_base, x_obj_flag_t flags, void *p1, void *p2)
Definition iter.c:35
x_obj_t * x_type_iter_make(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:97
x_obj_t * x_type_iter_register(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:78
Definition x-obj.h:212
enum x_obj_flag_enum x_obj_flag_t
Type system field accessors and type struct definition.