Table of Contents

Namespace PatternKit.Behavioral.Iterator

Classes

AsyncFlowExtensions
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.

SharedAsyncFlow<T>
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.