66 void *backend = logger->
backend;
#define LEXLEO_ASSERT(expr)
void logger_destroy(logger_t **l)
Destroy a logger handle.
logger_env_t logger_default_env(const osal_mem_ops_t *mem_ops)
Build a default logger_env_t from injected memory operations.
logger_status_t logger_create(logger_t **out, const logger_vtbl_t *vtbl, void *backend, const logger_env_t *env)
Create a generic logger handle from adapter-provided backend bindings.
logger_status_t logger_log(logger_t *l, const char *message)
Emit a log message through a logger.
Borrower-facing runtime operations for the logger port.
Adapter-side API for constructing and binding logger_t objects.
Composition Root helpers for the logger port.
Private logger handle definition for the logger port.
Lifecycle services for logger_t handles.
Runtime environment for the logger port.
const osal_mem_ops_t * mem
Memory operations used by the logger port.
Private handle structure for a logger_t.
const osal_mem_ops_t * mem
Adapter dispatch table bound to a logger_t instance.
logger_status_t(* log)(void *backend, const char *message)
void(* destroy)(void *backend)
void *(* calloc)(size_t nmemb, size_t size)