Namespace PatternKit.Behavioral.Iterator
Classes
- AsyncFlow<T>
Async counterpart to Flow<T> built on IAsyncEnumerable<T>. Provides Map / Filter / FlatMap / Tee and a replayable Share() that allows multiple forks to enumerate without re-running upstream side-effects.
- FlowExtensions
Helper extensions for flow composition sugar / interop.
- Flow<T>
A fluent, functional pipeline ("flow") over an IEnumerable<T> supporting transformation (Map<TOut>(Func<T, TOut>)), filtering (Filter(Func<T, bool>)), flattening (FlatMap<TOut>(Func<T, IEnumerable<TOut>>)), side-effects (Tee(Action<T>)), sharing + forking (Share(), Fork()), and logical branching (Branch(Func<T, bool>)).
- ReplayableSequenceExtensions
LINQ-like and utility extensions over ReplayableSequence<T>.Cursor.
- ReplayableSequence<T>
A replayable, forkable, lookahead-capable sequence abstraction that augments IEnumerable<T> when you need multi-pass / speculative traversal without re-enumerating or re-materializing the original source.
- SharedFlow<T>
A shared, replayable flow (backed by ReplayableSequence<T>) enabling multi-consumer forking, branching (partition), and additional functional transformation while guaranteeing each upstream element is materialized at most once.
- WindowSequence
Sliding / striding window iterator over an IEnumerable<T> that yields immutable (or buffer-reused) window views. Demonstrates creating a custom enumerator with additional semantics while still presenting standard IEnumerable API.
Structs
- ReplayableSequence<T>.Cursor
A lightweight position inside a ReplayableSequence<T>. Value-type; copying is cheap.
- WindowSequence.Window<T>
Represents a fixed-size (or trailing partial) window of elements.