loeres_backend_std/lib.rs
1//! `loeres-backend-std` — dynamic, heap-backed storage for the server.
2//!
3//! Environment: `std`, dynamic allocation. Provides dense/sparse storage
4//! adapters and optional third-party numerical backends, all implementing the
5//! `loeres` access contracts. Server-only: it must never be depended on
6//! by `loeres-device` or `loeres-backend-static`.
7//!
8//! Public module topography (external design §1.5):
9//! `dense`, `sparse`, `view`, `batch`, `adapter`.
10//!
11//! RFC 007 (v0.11.0) populates `dense` (behind the default `dense` feature) and
12//! `sparse` (behind `sparse`) with row-major `Vec`-backed dense adapters and a
13//! CSR sparse matrix, all implementing the RFC 002 access contracts. Validation
14//! state is RFC 012-owned; this crate provides only ordinary construction
15//! checks and finite-scan helpers. `view`, `batch`, and `adapter` remain
16//! placeholders.
17
18pub mod adapter;
19pub mod batch;
20#[cfg(feature = "dense")]
21pub mod dense;
22#[cfg(feature = "sparse")]
23pub mod sparse;
24pub mod view;
25
26#[cfg(any(feature = "dense", feature = "sparse"))]
27pub(crate) mod internal;
28
29#[cfg(feature = "dense")]
30pub use dense::{DenseIngestOptions, DenseMatrix, DenseVector};
31#[cfg(feature = "sparse")]
32pub use sparse::{SparseIngestOptions, SparseMatrix};