Expand description
Data structures and combinators for constructing reactive System dependency graphs on top
of BTreeMap mutations.
This module provides SignalMap, a collection-oriented signal trait with diff-based
semantics. Rather than forwarding entire maps each frame, SignalMap propagates
MapDiff values that describe incremental mutations (insert, update, remove, etc.). This
enables efficient, constant-time reactive updates for keyed collections of any size.
See MutableBTreeMap for the primary source type and SignalMapExt for available
combinators. For the general signal graph runtime model and core concepts, see the Signal
trait documentation.
Structs§
- Debug
- Signal graph node that debug logs its upstream’s “raw”
Vec<MapDiff>s, see.debug. - ForEach
- Signal graph node which applies a
Systemdirectly to the “raw”Vec<MapDiff>s of its upstream, see .for_each. - Key
- Signal graph node which maps its upstream
SignalVecto aKey-lookupSignal, see.key. - MapValue
- Signal graph node which applies a
Systemto eachValueof its upstream, see.map_value. - MapValue
Signal - Signal graph node which applies a
Systemto eachValueof its upstream, forwarding the output of each resultingSignal, see.map_value. - MutableB
Tree Map - Wrapper around a
BTreeMapthat emits mutations asMapDiffs, enabling diff-less constant-time reactive updates for downstreamSignalMaps. - MutableB
Tree MapBuilder - Builder for constructing a
MutableBTreeMap. - MutableB
Tree MapData Componentthat holds the actual state for aMutableBTreeMap.- MutableB
Tree MapRead Guard - Provides immutable access to the underlying
BTreeMap. - MutableB
Tree MapWrite Guard - Provides limited mutable access to the underlying
BTreeMap. - Scheduled
Map - Signal map node wrapper that assigns a schedule to a signal chain, see
.schedule. - Signal
VecEntries - Signal graph node which maps its upstream
MutableBTreeMapto aSignalVecof its sorted(key, value)s, see.signal_vec_entries. - Signal
VecKeys - Signal graph node with no upstreams which outputs some
MutableBTreeMap’s sortedKeys as aSignalVec, see.signal_vec_keys. - Source
- Signal graph node with no upstreams which forwards
Vec<MapDiff<K, V>>s flushed from some sourceMutableBTreeMap<K, V>, seeMutableBTreeMap::signal_map.
Enums§
- MapDiff
- Describes the mutations made to the underlying
MutableBTreeMapthat are piped to downstreamSignalMaps. - Signal
MapEither - Enables returning different concrete
SignalMaptypes from branching logic without boxing, although note that allSignalMaps are boxed internally regardless.
Traits§
- Into
Signal MapEither - Blanket trait for transforming
SignalMaps intoSignalMapEither::LeftorSignalMapEither::Right. - Read
MutableB Tree MapData - Specifies read accessors for
MutableBTreeMaps. - Signal
Map - A composable node in jonmo’s reactive dependency graph, specialized for diff-based
BTreeMapreactivity. - Signal
MapDyn Clone - An extension trait for
SignalMaptypes that implementClone. - Signal
MapExt - Extension trait providing combinator methods for
SignalMaps. - Write
MutableB Tree MapData - Specifies write accessors for
MutableBTreeMaps.