25#include "xtc_export.h"
32typedef struct xtc_stream xtc_stream_t;
40typedef int (*xtc_stream_next_fn)(
void *ctx,
void **out);
53XTC_API
int xtc_stream_create(xtc_stream_next_fn next,
void *ctx,
60XTC_API
void xtc_stream_destroy(xtc_stream_t *s);
63XTC_API
int xtc_stream_next(xtc_stream_t *s,
void **out);
67XTC_API
int xtc_stream_map(xtc_stream_t *s,
68 void *(*fn)(
void *v,
void *user),
void *user,
73XTC_API
int xtc_stream_filter(xtc_stream_t *s,
74 int (*pred)(
void *v,
void *user),
void *user,
82XTC_API
int xtc_stream_for_each(xtc_stream_t *s,
83 int (*fn)(
void *v,
void *user),
void *user);
88XTC_API
int xtc_stream_from_demand(xtc_chan_demand_t *ch, xtc_stream_t **out);