pipeline-core
The shared value layer for the pipeline
family. This crate is imported as pipeline and provides the dirty- and
validity-tracking value types plus the Reset trait the engines use to clear
per-cycle state.
You usually don't use this crate alone — you pair it with a front-end
(pipeline-dsl for the static macro, or pipeline-graph for the dynamic
runtime graph). But its types are the currency both speak, so you depend on it
directly and refer to them as pipeline::Vector, pipeline::Value, etc.
What's here
Value<T>— a single dirty/validity-tracked cell.Vector<T>— aVec-like container with per-slot dirty and validity bits (incremental, cycle-based recompute).Buckets<T>— indexed accumulation.Reset— clears per-cycle dirty state (contents/validity are preserved).Error— the shared error type.
use Vector;
let mut v: = with_invalid_slots; // 3 slots, all invalid
v.commit; // slot 0 now valid + dirty
assert!;
assert_eq!;
Related crates
Part of the pipeline family — a shared value layer with two front-ends:
| Crate | What it is |
|---|---|
pipeline-core |
the value layer (Value/Vector/Buckets + Reset), imported as pipeline |
pipeline-dsl |
static front-end: derive the graph at compile time with #[pipeline]/#[stage] |
pipeline-graph |
dynamic front-end: wire the graph at runtime (Graph, Input/Output) |
Fixed pipeline known at compile time → pipeline-dsl. Wiring decided at
runtime → pipeline-graph.
License
MIT OR Apache-2.0.