Table of Contents

Method Lift

Namespace
SodaFlow
Assembly
SodaFlow.dll

Lift<T, T2, TResult>(Cell<T>, Cell<T2>, Func<T, T2, TResult>)

Lift a binary function into cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, T2, TResult>(this Cell<T> c, Cell<T2> c2, Func<T, T2, TResult> f)

Parameters

c Cell<T>

The cell.

c2 Cell<T2>

The second cell.

f Func<T, T2, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the binary function applied to the input cells' values.

Type Parameters

T

The type of the cell.

T2

The type of second cell.

TResult

The type of the result.

Lift<T, T2, T3, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Func<T, T2, T3, TResult>)

Lift a ternary function into cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, T2, T3, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Func<T, T2, T3, TResult> f)

Parameters

c Cell<T>

The cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

f Func<T, T2, T3, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the ternary function applied to the input cells' values.

Type Parameters

T

The type of the cell.

T2

The type of second cell.

T3

The type of third cell.

TResult

The type of the result.

Lift<T, T2, T3, T4, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Cell<T4>, Func<T, T2, T3, T4, TResult>)

Lift a quaternary function into cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, T2, T3, T4, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Func<T, T2, T3, T4, TResult> f)

Parameters

c Cell<T>

The cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

c4 Cell<T4>

The fourth cell.

f Func<T, T2, T3, T4, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the quaternary function applied to the input cells' values.

Type Parameters

T

The type of the cell.

T2

The type of second cell.

T3

The type of third cell.

T4

The type of fourth cell.

TResult

The type of the result.

Lift<T, T2, T3, T4, T5, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Func<T, T2, T3, T4, T5, TResult>)

Lift a 5-argument function into cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, T2, T3, T4, T5, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Func<T, T2, T3, T4, T5, TResult> f)

Parameters

c Cell<T>

The cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

c4 Cell<T4>

The fourth cell.

c5 Cell<T5>

The fifth cell.

f Func<T, T2, T3, T4, T5, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the 5-argument function applied to the input cells' values.

Type Parameters

T

The type of the cell.

T2

The type of second cell.

T3

The type of third cell.

T4

The type of fourth cell.

T5

The type of fifth cell.

TResult

The type of the result.

Lift<T, T2, T3, T4, T5, T6, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Func<T, T2, T3, T4, T5, T6, TResult>)

Lift a 6-argument function into cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, T2, T3, T4, T5, T6, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Func<T, T2, T3, T4, T5, T6, TResult> f)

Parameters

c Cell<T>

The cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

c4 Cell<T4>

The fourth cell.

c5 Cell<T5>

The fifth cell.

c6 Cell<T6>

The sixth cell.

f Func<T, T2, T3, T4, T5, T6, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the 6-argument function applied to the input cells' values.

Type Parameters

T

The type of the cell.

T2

The type of second cell.

T3

The type of third cell.

T4

The type of fourth cell.

T5

The type of fifth cell.

T6

The type of sixth cell.

TResult

The type of the result.

Lift<T, T2, T3, T4, T5, T6, T7, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Cell<T7>, Func<T, T2, T3, T4, T5, T6, T7, TResult>)

Lifts a function of seven arguments into cells. The cell from this call always has the value of that function on the values of the input cells.

public static Cell<TResult> Lift<T, T2, T3, T4, T5, T6, T7, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Cell<T7> c7, Func<T, T2, T3, T4, T5, T6, T7, TResult> f)

Parameters

c Cell<T>

The first cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

c4 Cell<T4>

The fourth cell.

c5 Cell<T5>

The fifth cell.

c6 Cell<T6>

The sixth cell.

c7 Cell<T7>

The seventh cell.

f Func<T, T2, T3, T4, T5, T6, T7, TResult>

The function to lift into the cells. It must be a pure function.

Returns

Cell<TResult>

A cell with the value of f on the values of the input cells.

Type Parameters

T

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

T6

The type of the sixth cell.

T7

The type of the seventh cell.

TResult

The type of the result.

Lift<T, T2, T3, T4, T5, T6, T7, T8, TResult>(Cell<T>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Cell<T7>, Cell<T8>, Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>)

Lifts a function of eight arguments into cells. The cell from this call always has the value of that function on the values of the input cells.

public static Cell<TResult> Lift<T, T2, T3, T4, T5, T6, T7, T8, TResult>(this Cell<T> c, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Cell<T7> c7, Cell<T8> c8, Func<T, T2, T3, T4, T5, T6, T7, T8, TResult> f)

Parameters

c Cell<T>

The first cell.

c2 Cell<T2>

The second cell.

c3 Cell<T3>

The third cell.

c4 Cell<T4>

The fourth cell.

c5 Cell<T5>

The fifth cell.

c6 Cell<T6>

The sixth cell.

c7 Cell<T7>

The seventh cell.

c8 Cell<T8>

The eighth cell.

f Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>

The function to lift into the cells. It must be a pure function.

Returns

Cell<TResult>

A cell with the value of f on the values of the input cells.

Type Parameters

T

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

T6

The type of the sixth cell.

T7

The type of the seventh cell.

T8

The type of the eighth cell.

TResult

The type of the result.

Lift<T, TResult>(IEnumerable<Cell<T>>, Func<IReadOnlyList<T>, TResult>)

Lift a function into a collection of cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, TResult>(this IEnumerable<Cell<T>> c, Func<IReadOnlyList<T>, TResult> f)

Parameters

c IEnumerable<Cell<T>>

The collection of cells.

f Func<IReadOnlyList<T>, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the function applied to the input cells' values.

Type Parameters

T

The type of the cells.

TResult

The type of the result.

Lift<T, TResult>(IReadOnlyCollection<Cell<T>>, Func<IReadOnlyList<T>, TResult>)

Lift a function into a collection of cells, so the returned cell always reflects the specified function applied to the input cells' values.

public static Cell<TResult> Lift<T, TResult>(this IReadOnlyCollection<Cell<T>> c, Func<IReadOnlyList<T>, TResult> f)

Parameters

c IReadOnlyCollection<Cell<T>>

The collection of cells.

f Func<IReadOnlyList<T>, TResult>

The binary function to lift into the cells.

Returns

Cell<TResult>

A cell containing values resulting from the function applied to the input cells' values.

Type Parameters

T

The type of the cells.

TResult

The type of the result.

Lift<T>(IEnumerable<Cell<T>>)

Lift into a collection of cells, so the returned cell always reflects a list of the input cells' values.

public static Cell<IReadOnlyList<T>> Lift<T>(this IEnumerable<Cell<T>> c)

Parameters

c IEnumerable<Cell<T>>

The collection of cells.

Returns

Cell<IReadOnlyList<T>>

A cell containing a list of the input cells' values.

Type Parameters

T

The type of the cells.

Lift<T>(IReadOnlyCollection<Cell<T>>)

Lift into a collection of cells, so the returned cell always reflects a list of the input cells' values.

public static Cell<IReadOnlyList<T>> Lift<T>(this IReadOnlyCollection<Cell<T>> c)

Parameters

c IReadOnlyCollection<Cell<T>>

The collection of cells.

Returns

Cell<IReadOnlyList<T>>

A cell containing a list of the input cells' values.

Type Parameters

T

The type of the cells.