26#include "xtc_export.h"
33typedef struct xtc_stream xtc_stream_t;
41typedef int (*xtc_stream_next_fn)(
void *ctx,
void **out);
54XTC_API
int xtc_stream_create(xtc_stream_next_fn next,
void *ctx,
61XTC_API
void xtc_stream_destroy(xtc_stream_t *s);
64XTC_API
int xtc_stream_next(xtc_stream_t *s,
void **out);
68XTC_API
int xtc_stream_map(xtc_stream_t *s,
69 void *(*fn)(
void *v,
void *user),
void *user,
74XTC_API
int xtc_stream_filter(xtc_stream_t *s,
75 int (*pred)(
void *v,
void *user),
void *user,
83XTC_API
int xtc_stream_for_each(xtc_stream_t *s,
84 int (*fn)(
void *v,
void *user),
void *user);
89XTC_API
int xtc_stream_from_demand(xtc_chan_demand_t *ch, xtc_stream_t **out);