Share via


IBinaryAggregate<TLeft,TRight,TState,TResult> Interface

Definition

Interface used by all aggregates over two inputs.

public interface IBinaryAggregate<TLeft,TRight,TState,TResult>
type IBinaryAggregate<'Left, 'Right, 'State, 'Result> = interface
Public Interface IBinaryAggregate(Of TLeft, TRight, TState, TResult)

Type Parameters

TLeft

The type of the left input being aggregated.

TRight

The type of the right input being aggregated.

TState

The type of the state object used for intermediate computation.

TResult

The type of the computed result of the aggregation.

Methods

AccumulateLeft()

Provides an expression that describes how to take the aggregate state and a new data object from the left input and compute a new aggregate state.

AccumulateRight()

Provides an expression that describes how to take the aggregate state and a new data object from the right input and compute a new aggregate state.

ComputeResult()

Provides an expression that describes how to compute a final result from an aggregate state.

DeaccumulateLeft()

Provides an expression that describes how to take the aggregate state and a retracted data object from the left input and compute a new aggregate state.

DeaccumulateRight()

Provides an expression that describes how to take the aggregate state and a retracted data object from the right input and compute a new aggregate state.

Difference()

Provides an expression that describes how to take two different aggregate states and subtract one from the other.

InitialState()

Provides an expression that creates the initial state for the aggregate computation.

Applies to