Table of Contents

Namespace SodaFlow.Functional

Classes

Either

Constructors for the Either<T1, T2> family with no type argument in the code.

Either.EitherEighth<T>

A value marked as belonging in the eighth position of an either, as produced by Eighth<T>(T).

Either.EitherFifth<T>

A value marked as belonging in the fifth position of an either, as produced by Fifth<T>(T).

Either.EitherFirst<T>

A value marked as belonging in the first position of an either, as produced by First<T>(T).

Either.EitherFourth<T>

A value marked as belonging in the fourth position of an either, as produced by Fourth<T>(T).

Either.EitherSecond<T>

A value marked as belonging in the second position of an either, as produced by Second<T>(T).

Either.EitherSeventh<T>

A value marked as belonging in the seventh position of an either, as produced by Seventh<T>(T).

Either.EitherSixth<T>

A value marked as belonging in the sixth position of an either, as produced by Sixth<T>(T).

Either.EitherThird<T>

A value marked as belonging in the third position of an either, as produced by Third<T>(T).

Either.GetValueAsHelper<T>

The second half of GetValueAs<T>(), holding the overloads which do the collapsing.

EnumerableExtensionMethods

The operations on an ordinary sequence which answer with a Maybe<T> rather than with a default value or an exception.

LazyExtensionMethods

The operations available on a Lazy<T>.

Maybe

Constructors for Maybe<T> with no type argument in the code.

MaybeAsyncExtensionMethods

The operations that move a Maybe<T> across an asynchronous step.

MaybeExtensionMethods

The operations available on a Maybe<T> and on sequences of them.

MaybeMonad

Provides methods implementing a monad for Maybe<T>.

ReadOnlyDictionaryExtensionMethods

The lookup operations on a read-only dictionary which answer with a Maybe<T>.

StringExtensionMethods

The parsing operations on a string which answer with a Maybe<T>.

UnitExtensionMethods

Extension methods for basic type conversion helpers.

Structs

Either<T1, T2>

A value which is one of two possibilities.

Either<T1, T2, T3>

A value which is one of three possibilities.

Either<T1, T2, T3, T4>

A value which is one of four possibilities.

Either<T1, T2, T3, T4, T5>

A value which is one of five possibilities.

Either<T1, T2, T3, T4, T5, T6>

A value which is one of six possibilities.

Either<T1, T2, T3, T4, T5, T6, T7>

A value which is one of seven possibilities.

Either<T1, T2, T3, T4, T5, T6, T7, T8>

A value which is one of eight possibilities.

Maybe.NoneType

The type of None: a value carrying no information, whose only purpose is to change to a Maybe<T> containing nothing.

Maybe<T>

A value that is there, or that is not there.

Unit
    A struct for the unit type, which is close to 
void

.

Interfaces

IEither

The general non-generic view of each either, regardless of how many cases it has.

IEitherOfEight

A non-generic view of an either of eight cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfFive

A non-generic view of an either of five cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfFour

A non-generic view of an either of four cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfSeven

A non-generic view of an either of seven cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfSix

A non-generic view of an either of six cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfThree

A non-generic view of an either of three cases, for code which must handle one with no knowledge of the types of the cases.

IEitherOfTwo

A non-generic view of an either of two cases, for code which must handle one with no knowledge of the types of the cases.

IMaybe

A non-generic view of a Maybe<T>. Use it in code that must handle a value that is there, or that has none, with no knowledge of its type.

Delegates

TryGet<TResult>

A method that gives a value if it can. It reports the result through its return value, and gives the value through an output parameter.

TryGet<T, TResult>

A method that gives a value from one input if it can. It reports the result through its return value, and gives the value through an output parameter.

TryGet<T1, T2, TResult>

A method that gives a value from two inputs if it can. It reports the result through its return value, and gives the value through an output parameter.

TryGet<T1, T2, T3, TResult>

A method that gives a value from three inputs if it can. It reports the result through its return value, and gives the value through an output parameter.