22#ifndef LEXLEO_STREAM_FACTORY_CR_API_H
23#define LEXLEO_STREAM_FACTORY_CR_API_H
Composition Root helpers for the stream port.
stream_status_t stream_create_factory(stream_factory_t **out, const stream_factory_cfg_t *cfg, const stream_env_t *env)
Create a stream factory.
stream_status_t stream_factory_add_adapter(stream_factory_t *fact, const stream_adapter_desc_t *desc)
Register an adapter descriptor into a stream factory.
stream_status_t stream_factory_create_stream(const stream_factory_t *f, stream_key_t key, const void *args, stream_t **out)
Create a stream from a registered adapter key.
void stream_destroy_factory(stream_factory_t **fact)
Destroy a stream factory.
stream_factory_cfg_t stream_default_factory_cfg(void)
Return the default configuration for a stream factory.
Adapter installation contracts for the stream port.
Public key type used to identify stream adapters.
const char * stream_key_t
Public identifier type for a registered stream adapter.
Borrower-visible public types for the stream port.
stream_status_t
Public status codes used by the stream port.
Public descriptor used to register a concrete stream adapter.
Runtime environment for the stream port.
Configuration for stream_factory_t.
Private handle structure for a stream_factory_t.
Private handle structure for a stream_t.