Skip to content

ReactiveUI.Primitives.Advanced namespace

Part of the ReactiveUI.Primitives.Core package.

TypeKindSummary
AggregateWitnessclassSingle-source sink that folds every observed value through an immutable value-type TAggregator and emits the aggregate result once the source completes. The accumulator is advanced functionally through a constrained (devirtualized, allocation-free) call, so each concrete aggregate operator shares this one implementation without a base class or per-value indirection.
AllPredicateWitnessclassObserver for detecting whether all values match a predicate.
AnyPredicateWitnessclassObserver for detecting whether any value matches a predicate.
AnyWitnessclassObserver for detecting whether any value is present.
AppendDelegateWitnessclassDelegate-backed observer for fused prepend/append inline subscriptions.
AppendWitnessclassObserver for append.
AsyncEnumerableSignalclassAsync-enumerable observable adapter.
BufferWitnessclassSink that batches source values into fixed-size windows.
CallbackWitnessclassObserver that forwards notifications to delegates.
CollectArrayWitnessclassSink that buffers values and emits them as an array on completion.
CollectListWitnessclassSink that buffers values and emits them as a list on completion.
ContainsWitnessclassObserver for detecting whether a value is contained in a sequence.
CopyOnWriteListclassImmutable array-backed list optimized for copy-on-write observer storage.
CountAggregatorstructImmutable accumulator that counts every observed value as an Int32.
CountPredicateAggregatorstructImmutable accumulator that counts the values matching a predicate as an Int32.
DefaultIfEmptyWitnessclassObserver for default-if-empty.
DisposedMarkerclassDisposable marker for disposed sinks.
DisposedWitnessclassObserver that rejects every notification because the subscription has already been disposed.
DistinctByCountAggregatorstructImmutable accumulator that counts distinct selected keys as an Int32.
DistinctByLongCountAggregatorstructImmutable accumulator that counts distinct selected keys as a Int64.
DistinctByWitnessclassObserver for distinct-by.
DistinctWitnessclassSink that forwards the first occurrence of each value.
EmptyWitnessclassDelegate-backed observer that defaults missing handlers to no-op behavior.
FoldWitnessclassSink that emits a running accumulation for every source value.
ForwardingWitnessclassObserver that forwards notifications to a standard observer.
FromEnumerableSignalclassRepresents a finite signal backed by an enumerable sequence.
IAggregatorinterfaceAn immutable value-type accumulator for a single-source aggregate sink: each [Add](# folds a value into the running state and returns the next accumulator, while [Result](# yields the terminal value. Implemented as a readonly record struct so [AggregateWitness](# can advance it through a constrained, devirtualized, allocation-free call rather than an interface or delegate dispatch.
IAsyncEnumerableBackedSignalinterfaceObservable adapter backed by an async enumerable.
IInlineSignalinterfaceRepresents the IInlineSignal interface.
IRequireCurrentThreadinterfaceMarks a sequencer that must run on the current thread.
IgnoreValuesWitnessclassSink that drops values and forwards only terminal notifications.
ImmediateReturnSignalclassRepresents the ImmediateReturnSignal class.
ImmediateThrowSignalclassRepresents the immediate Throw signal fast path.
ImmutableEmptySignalclassRepresents the ImmutableEmptySignal class.
ImmutableNeverSignalclassRepresents the ImmutableNeverSignal class.
ImmutableReturnFalseSignalclassRepresents the ImmutableReturnFalseSignal class.
ImmutableReturnInt32SignalclassRepresents the ImmutableReturnInt32Signal class.
ImmutableReturnTrueSignalclassRepresents the ImmutableReturnTrueSignal class.
KeepNotNullWitnessclassSink that forwards only non-null values.
KeepTypeWitnessclassSink that forwards only values assignable to TResult.
ListWitnessclassObserver that forwards notifications to an immutable observer list.
LongCountAggregatorstructImmutable accumulator that counts every observed value as a Int64.
LongCountPredicateAggregatorstructImmutable accumulator that counts the values matching a predicate as a Int64.
RangeConcatSignalclassConcatenates synchronous integer ranges without outer observable/coordinator overhead.
RangeSignalclassRepresents the RangeSignal class.
RangeZipSignalclassZips two synchronous integer ranges without coordinator queues.
ReduceWitnessclassSink that emits the final accumulation once the source completes.
RepeatSignalclassRepresents the RepeatSignal class.
SinkSubscriptionclassShared single-upstream-subscription management for sink observers. Operating on a caller-owned IDisposable field through a ref parameter lets each sink implement IObserver directly — with no shared base class, and therefore no virtual-dispatch overhead on the hot notification path — while still sharing the assign-once / dispose-once teardown.
SinkTerminalclassShared terminal-forwarding helpers for single-source sink observers. Each sink computes a single result and forwards it downstream exactly once, disposing itself afterwards. Centralizing the forward-then-dispose using scope — and the done latch that guards it — keeps the individual sinks to their distinguishing accumulation logic and removes the otherwise-identical terminal boilerplate.
SkipWhileWitnessclassSink that drops leading values while the predicate holds, then mirrors the source.
SkipWitnessclassSink that drops the first count values, then forwards the rest.
StatefulWitnessclassObserver that forwards notifications to stateful delegates.
SubscriptionSlotsclassHelpers for the interlocked single-assignment subscription slots shared by the catch-style sinks (RecoverSignal, ResumeSignal): a slot holds at most one live subscription and, once the sink is disposed, swaps to a sentinel so a late assignment is disposed instead of stored.
SynchronizeWitnessclassObserver that serializes notifications behind a gate so downstream operators always observe the single-threaded OnNext* then OnError\OnCompleted grammar they depend on, even when the upstream source delivers concurrently. Stateful sinks (counting, distinct, buffering) rely on that grammar; placing one of these ahead of them is the supported way to consume a non-conformant source.
TakeWhileWitnessclassSink that forwards values while the predicate holds, then completes and unsubscribes.
TakeWitnessclassObserver used by Take to dispose the upstream subscription as soon as the requested count is reached.
TapWitnessclassSink that runs side-effects before forwarding each notification.
ThrowWitnessclassObserver that ignores values and completion and rethrows errors.
UnfoldSignalclassFinite state expansion signal.
UniqueByWitnessclassSink that suppresses adjacent values whose projected key matches the previous one.
UniqueWitnessclassSink that suppresses adjacent duplicate values.
UseSignalclassResource-scoped signal.
WitnessclassFactory methods for allocation-conscious observers in the ReactiveUI.Primitives vocabulary.
WitnessTeardownclassShared run-once teardown for witness sinks.