<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Interactive</name>
    </assembly>
    <members>
        <member name="T:System.Linq.IAwaitable">
            <summary>
            Interface for objects that can be awaited for the completion of an asynchronous operation.
            </summary>
        </member>
        <member name="M:System.Linq.IAwaitable.GetAwaiter">
            <summary>
            Gets an awaiter object.
            </summary>
            <returns>Awaiter object.</returns>
        </member>
        <member name="T:System.Linq.IAwaiter">
            <summary>
            Interface for an awaiter of an asynchronous operation.
            </summary>
        </member>
        <member name="P:System.Linq.IAwaiter.IsCompleted">
            <summary>
            Gets a Boolean value indicating whether the asynchronous operation has completed.
            </summary>
        </member>
        <member name="M:System.Linq.IAwaiter.GetResult">
            <summary>
            Gets the result of the asynchronous operation.
            </summary>
            <remarks>
            This method may cause blocking if invoked prior to <see cref="P:System.Linq.IAwaiter.IsCompleted"/> returning <c>true</c>.
            Completion of the asynchronous operation can be observed using <see cref="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)"/>.
            </remarks>
        </member>
        <member name="T:System.Linq.IBuffer`1">
            <summary>
            Represents a buffer exposing a shared view over an underlying enumerable sequence.
            </summary>
            <typeparam name="T">Element type.</typeparam>
        </member>
        <member name="T:System.Linq.IYielder`1">
            <summary>
            Interface for yielding elements to enumerator.
            </summary>
            <typeparam name="T">Type of the elements yielded to an enumerator.</typeparam>
        </member>
        <member name="M:System.Linq.IYielder`1.Break">
            <summary>
            Stops the enumeration.
            </summary>
            <returns>Awaitable object for use in an asynchronous method.</returns>
        </member>
        <member name="M:System.Linq.IYielder`1.Return(`0)">
            <summary>
            Yields a value to the enumerator.
            </summary>
            <param name="value">Value to yield return.</param>
            <returns>Awaitable object for use in an asynchronous method.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Buffer``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Generates a sequence of non-overlapping adjacent buffers over the source sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="count">Number of elements for allocated buffers.</param>
            <returns>Sequence of buffers containing source sequence elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Buffer``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
            <summary>
            Generates a sequence of buffers over the source sequence, with specified length and possible overlap.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="count">Number of elements for allocated buffers.</param>
            <param name="skip">Number of elements to skip between the start of consecutive buffers.</param>
            <returns>Sequence of buffers containing source sequence elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Case``2(System.Func{``0},System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Returns a sequence from a dictionary based on the result of evaluating a selector function.
            </summary>
            <typeparam name="TValue">Type of the selector value.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="selector">Selector function used to pick a sequence from the given sources.</param>
            <param name="sources">Dictionary mapping selector values onto resulting sequences.</param>
            <returns>The source sequence corresponding with the evaluated selector value; otherwise, an empty sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Case``2(System.Func{``0},System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IEnumerable{``1}},System.Collections.Generic.IEnumerable{``1})">
            <summary>
            Returns a sequence from a dictionary based on the result of evaluating a selector function, also specifying a
            default sequence.
            </summary>
            <typeparam name="TValue">Type of the selector value.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="selector">Selector function used to pick a sequence from the given sources.</param>
            <param name="sources">Dictionary mapping selector values onto resulting sequences.</param>
            <param name="defaultSource">
            Default sequence to return in case there's no corresponding source for the computed
            selector value.
            </param>
            <returns>The source sequence corresponding with the evaluated selector value; otherwise, the default source.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Catch``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Creates a sequence that corresponds to the source sequence, concatenating it with the sequence resulting from
            calling an exception handler function in case of an error.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TException">Exception type to catch.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="handler">Handler to invoke when an exception of the specified type occurs.</param>
            <returns>Source sequence, concatenated with an exception handler result sequence in case of an error.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Catch``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Creates a sequence by concatenating source sequences until a source sequence completes successfully.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence that continues to concatenate source sequences while errors occur.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Catch``1(System.Collections.Generic.IEnumerable{``0}[])">
            <summary>
            Creates a sequence by concatenating source sequences until a source sequence completes successfully.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence that continues to concatenate source sequences while errors occur.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Catch``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a sequence that returns the elements of the first sequence, switching to the second in case of an error.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="first">First sequence.</param>
            <param name="second">Second sequence, concatenated to the result in case the first sequence completes exceptionally.</param>
            <returns>The first sequence, followed by the second sequence in case an error is produced.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Concat``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Concatenates the input sequences.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence with the elements of the source sequences concatenated.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Concat``1(System.Collections.Generic.IEnumerable{``0}[])">
            <summary>
            Concatenates the input sequences.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence with the elements of the source sequences concatenated.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Create``1(System.Func{System.Collections.Generic.IEnumerator{``0}})">
            <summary>
            Creates an enumerable sequence based on an enumerator factory function.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="getEnumerator">Enumerator factory function.</param>
            <returns>Sequence that will invoke the enumerator factory upon a call to GetEnumerator.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Create``1(System.Action{System.Linq.IYielder{``0}})">
            <summary>
            Creates an enumerable sequence based on an asynchronous method that provides a yielder.
            </summary>
            <typeparam name="T">Result sequence element type.</typeparam>
            <param name="create">
            Delegate implementing an asynchronous method that can use the specified yielder to yield return
            values.
            </param>
            <returns>Sequence that will use the asynchronous method to obtain its elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Defer``1(System.Func{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Creates an enumerable sequence based on an enumerable factory function.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="enumerableFactory">Enumerable factory function.</param>
            <returns>Sequence that will invoke the enumerable factory upon a call to GetEnumerator.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Distinct``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns elements with a distinct key value by using the default equality comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector.</param>
            <returns>Sequence that contains the elements from the source sequence with distinct key values.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Distinct``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns elements with a distinct key value by using the specified equality comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector.</param>
            <param name="comparer">Comparer used to compare key values.</param>
            <returns>Sequence that contains the elements from the source sequence with distinct key values.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.DistinctUntilChanged``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns consecutive distinct elements by using the default equality comparer to compare values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Sequence without adjacent non-distinct elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.DistinctUntilChanged``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Returns consecutive distinct elements by using the specified equality comparer to compare values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="comparer">Comparer used to compare values.</param>
            <returns>Sequence without adjacent non-distinct elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.DistinctUntilChanged``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns consecutive distinct elements based on a key value by using the specified equality comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector.</param>
            <returns>Sequence without adjacent non-distinct elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.DistinctUntilChanged``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns consecutive distinct elements based on a key value by using the specified equality comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector.</param>
            <param name="comparer">Comparer used to compare key values.</param>
            <returns>Sequence without adjacent non-distinct elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Do``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Lazily invokes an action for each value in the sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
            <returns>Sequence exhibiting the specified side-effects upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Do``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.Action)">
            <summary>
            Lazily invokes an action for each value in the sequence, and executes an action for successful termination.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
            <param name="onCompleted">Action to invoke on successful termination of the sequence.</param>
            <returns>Sequence exhibiting the specified side-effects upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Do``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.Action{System.Exception})">
            <summary>
            Lazily invokes an action for each value in the sequence, and executes an action upon exceptional termination.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
            <param name="onError">Action to invoke on exceptional termination of the sequence.</param>
            <returns>Sequence exhibiting the specified side-effects upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Do``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.Action{System.Exception},System.Action)">
            <summary>
            Lazily invokes an action for each value in the sequence, and executes an action upon successful or exceptional
            termination.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
            <param name="onError">Action to invoke on exceptional termination of the sequence.</param>
            <param name="onCompleted">Action to invoke on successful termination of the sequence.</param>
            <returns>Sequence exhibiting the specified side-effects upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Do``1(System.Collections.Generic.IEnumerable{``0},System.IObserver{``0})">
            <summary>
            Lazily invokes observer methods for each value in the sequence, and upon successful or exceptional termination.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="observer">Observer to invoke notification calls on.</param>
            <returns>Sequence exhibiting the side-effects of observer method invocation upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.DoWhile``1(System.Collections.Generic.IEnumerable{``0},System.Func{System.Boolean})">
            <summary>
            Generates an enumerable sequence by repeating a source sequence as long as the given loop postcondition holds.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence to repeat while the condition evaluates true.</param>
            <param name="condition">Loop condition.</param>
            <returns>Sequence generated by repeating the given sequence until the condition evaluates to false.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Expand``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Expands the sequence by recursively applying a selector function.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="selector">Selector function to retrieve the next sequence to expand.</param>
            <returns>Sequence with results from the recursive expansion of the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Finally``1(System.Collections.Generic.IEnumerable{``0},System.Action)">
            <summary>
            Creates a sequence whose termination or disposal of an enumerator causes a finally action to be executed.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="finallyAction">Action to run upon termination of the sequence, or when an enumerator is disposed.</param>
            <returns>Source sequence with guarantees on the invocation of the finally action.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.For``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Generates a sequence by enumerating a source sequence, mapping its elements on result sequences, and concatenating
            those sequences.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="resultSelector">Result selector to evaluate for each iteration over the source.</param>
            <returns>
            Sequence concatenating the inner sequences that result from evaluating the result selector on elements from
            the source.
            </returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Enumerates the sequence and invokes the given action for each value in the sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
        </member>
        <member name="M:System.Linq.EnumerableEx.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Int32})">
            <summary>
            Enumerates the sequence and invokes the given action for each value in the sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="onNext">Action to invoke for each element.</param>
        </member>
        <member name="M:System.Linq.EnumerableEx.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1})">
            <summary>
            Generates a sequence by mimicking a for loop.
            </summary>
            <typeparam name="TState">State type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="initialState">Initial state of the generator loop.</param>
            <param name="condition">Loop condition.</param>
            <param name="iterate">State update function to run after every iteration of the generator loop.</param>
            <param name="resultSelector">Result selector to compute resulting sequence elements.</param>
            <returns>Sequence obtained by running the generator loop, yielding computed elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Hide``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Hides the enumerable sequence object identity.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Enumerable sequence with the same behavior as the original, but hiding the source object identity.</returns>
            <remarks>
            <see cref="M:System.Linq.Enumerable.AsEnumerable``1(System.Collections.Generic.IEnumerable{``0})"/> doesn't hide the object identity, and simply acts as a cast
            to the <see cref="T:System.Collections.Generic.IEnumerable`1"/> interface type.
            </remarks>
        </member>
        <member name="M:System.Linq.EnumerableEx.If``1(System.Func{System.Boolean},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an enumerable sequence based on the evaluation result of the given condition.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="condition">Condition to evaluate.</param>
            <param name="thenSource">Sequence to return in case the condition evaluates true.</param>
            <param name="elseSource">Sequence to return in case the condition evaluates false.</param>
            <returns>Either of the two input sequences based on the result of evaluating the condition.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.If``1(System.Func{System.Boolean},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an enumerable sequence if the evaluation result of the given condition is true, otherwise returns an empty
            sequence.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="condition">Condition to evaluate.</param>
            <param name="thenSource">Sequence to return in case the condition evaluates true.</param>
            <returns>The given input sequence if the condition evaluates true; otherwise, an empty sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.IgnoreElements``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Ignores all elements in the source sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Source sequence without its elements.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.IsEmpty``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Determines whether an enumerable sequence is empty.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>true if the sequence is empty; false otherwise.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Max``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns the maximum value in the enumerable sequence by using the specified comparer to compare values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="comparer">Comparer used to determine the maximum value.</param>
            <returns>Maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns the elements with the maximum key value by using the default comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <returns>List with the elements that share the same maximum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Returns the elements with the minimum key value by using the specified comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <param name="comparer">Comparer used to determine the maximum key value.</param>
            <returns>List with the elements that share the same maximum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MaxByWithTies``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns the elements with the maximum key value by using the default comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <returns>List with the elements that share the same maximum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MaxByWithTies``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Returns the elements with the minimum key value by using the specified comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <param name="comparer">Comparer used to determine the maximum key value.</param>
            <returns>List with the elements that share the same maximum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Memoize``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a buffer with a view over the source sequence, causing each enumerator to obtain access to all of the
            sequence's elements without causing multiple enumerations over the source.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>
            Buffer enabling each enumerator to retrieve all elements from the shared source sequence, without duplicating
            source enumeration side-effects.
            </returns>
            <example>
            var rng = Enumerable.Range(0, 10).Do(x => Console.WriteLine(x)).Memoize();
            var e1 = rng.GetEnumerator();
            Assert.IsTrue(e1.MoveNext());    // Prints 0
            Assert.AreEqual(0, e1.Current);
            Assert.IsTrue(e1.MoveNext());    // Prints 1
            Assert.AreEqual(1, e1.Current);
            var e2 = rng.GetEnumerator();
            Assert.IsTrue(e2.MoveNext());    // Doesn't print anything; the side-effect of Do
            Assert.AreEqual(0, e2.Current);  // has already taken place during e1's iteration.
            Assert.IsTrue(e1.MoveNext());    // Prints 2
            Assert.AreEqual(2, e1.Current);
            </example>
        </member>
        <member name="M:System.Linq.EnumerableEx.Memoize``2(System.Collections.Generic.IEnumerable{``0},System.Func{System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Memoizes the source sequence within a selector function where each enumerator can get access to all of the
            sequence's elements without causing multiple enumerations over the source.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="selector">Selector function with memoized access to the source sequence for each enumerator.</param>
            <returns>Sequence resulting from applying the selector function to the memoized view over the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Memoize``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Creates a buffer with a view over the source sequence, causing a specified number of enumerators to obtain access
            to all of the sequence's elements without causing multiple enumerations over the source.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="readerCount">
            Number of enumerators that can access the underlying buffer. Once every enumerator has
            obtained an element from the buffer, the element is removed from the buffer.
            </param>
            <returns>
            Buffer enabling a specified number of enumerators to retrieve all elements from the shared source sequence,
            without duplicating source enumeration side-effects.
            </returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Memoize``2(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Memoizes the source sequence within a selector function where a specified number of enumerators can get access to
            all of the sequence's elements without causing multiple enumerations over the source.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="readerCount">
            Number of enumerators that can access the underlying buffer. Once every enumerator has
            obtained an element from the buffer, the element is removed from the buffer.
            </param>
            <param name="selector">
            Selector function with memoized access to the source sequence for a specified number of
            enumerators.
            </param>
            <returns>Sequence resulting from applying the selector function to the memoized view over the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Min``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns the minimum value in the enumerable sequence by using the specified comparer to compare values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="comparer">Comparer used to determine the minimum value.</param>
            <returns>Minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns the elements with the minimum key value by using the default comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <returns>List with the elements that share the same minimum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Returns the elements with the minimum key value by using the specified comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <param name="comparer">Comparer used to determine the minimum key value.</param>
            <returns>List with the elements that share the same minimum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MinByWithTies``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns the elements with the minimum key value by using the default comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <returns>List with the elements that share the same minimum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.MinByWithTies``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Returns the elements with the minimum key value by using the specified comparer to compare key values.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TKey">Key type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="keySelector">Key selector used to extract the key for each element in the sequence.</param>
            <param name="comparer">Comparer used to determine the minimum key value.</param>
            <returns>List with the elements that share the same minimum key value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.OnErrorResumeNext``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a sequence that concatenates both given sequences, regardless of whether an error occurs.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="first">First sequence.</param>
            <param name="second">Second sequence.</param>
            <returns>Sequence concatenating the elements of both sequences, ignoring errors.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.OnErrorResumeNext``1(System.Collections.Generic.IEnumerable{``0}[])">
            <summary>
            Creates a sequence that concatenates the given sequences, regardless of whether an error occurs in any of the
            sequences.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence concatenating the elements of the given sequences, ignoring errors.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.OnErrorResumeNext``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Creates a sequence that concatenates the given sequences, regardless of whether an error occurs in any of the
            sequences.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="sources">Source sequences.</param>
            <returns>Sequence concatenating the elements of the given sequences, ignoring errors.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Publish``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a buffer with a view over the source sequence, causing each enumerator to obtain access to the remainder of
            the sequence from the current index in the buffer.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>
            Buffer enabling each enumerator to retrieve elements from the shared source sequence, starting from the index
            at the point of obtaining the enumerator.
            </returns>
            <example>
            var rng = Enumerable.Range(0, 10).Publish();
            var e1 = rng.GetEnumerator();    // e1 has a view on the source starting from element 0
            Assert.IsTrue(e1.MoveNext());
            Assert.AreEqual(0, e1.Current);
            Assert.IsTrue(e1.MoveNext());
            Assert.AreEqual(1, e1.Current);
            var e2 = rng.GetEnumerator();
            Assert.IsTrue(e2.MoveNext());    // e2 has a view on the source starting from element 2
            Assert.AreEqual(2, e2.Current);
            Assert.IsTrue(e1.MoveNext());    // e1 continues to enumerate over its view
            Assert.AreEqual(2, e1.Current);
            </example>
        </member>
        <member name="M:System.Linq.EnumerableEx.Publish``2(System.Collections.Generic.IEnumerable{``0},System.Func{System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Publishes the source sequence within a selector function where each enumerator can obtain a view over a tail of the
            source sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="selector">Selector function with published access to the source sequence for each enumerator.</param>
            <returns>Sequence resulting from applying the selector function to the published view over the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Repeat``1(``0)">
            <summary>
            Generates a sequence by repeating the given value infinitely.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="value">Value to repeat in the resulting sequence.</param>
            <returns>Sequence repeating the given value infinitely.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Repeat``1(``0,System.Int32)">
            <summary>
            Generates a sequence that contains one repeated value.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="element">The value to be repeated.</param>
            <param name="count">The number of times to repeat the value in the generated sequence.</param>
            <returns>Sequence that contains a repeated value.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Repeat``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Repeats and concatenates the source sequence infinitely.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Sequence obtained by concatenating the source sequence to itself infinitely.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Repeat``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Repeats and concatenates the source sequence the given number of times.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="count">Number of times to repeat the source sequence.</param>
            <returns>Sequence obtained by concatenating the source sequence to itself the specified number of times.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Retry``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a sequence that retries enumerating the source sequence as long as an error occurs.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Sequence concatenating the results of the source sequence as long as an error occurs.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Retry``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Creates a sequence that retries enumerating the source sequence as long as an error occurs, with the specified
            maximum number of retries.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="retryCount">Maximum number of retries.</param>
            <returns>Sequence concatenating the results of the source sequence as long as an error occurs.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Return``1(``0)">
            <summary>
            Returns a sequence with a single element.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="value">Single element of the resulting sequence.</param>
            <returns>Sequence with a single element.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Scan``2(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1})">
            <summary>
            Generates a sequence of accumulated values by scanning the source sequence and applying an accumulator function.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TAccumulate">Accumulation type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="seed">Accumulator seed value.</param>
            <param name="accumulator">
            Accumulation function to apply to the current accumulation value and each element of the
            sequence.
            </param>
            <returns>Sequence with all intermediate accumulation values resulting from scanning the sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Scan``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``0})">
            <summary>
            Generates a sequence of accumulated values by scanning the source sequence and applying an accumulator function.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="accumulator">
            Accumulation function to apply to the current accumulation value and each element of the
            sequence.
            </param>
            <returns>Sequence with all intermediate accumulation values resulting from scanning the sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.SelectMany``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1})">
            <summary>
            Projects each element of a sequence to an given sequence and flattens the resulting sequences into one sequence.
            </summary>
            <typeparam name="TSource">First source sequence element type.</typeparam>
            <typeparam name="TOther">Second source sequence element type.</typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="other">Inner sequence each source sequence element is projected onto.</param>
            <returns>Sequence flattening the sequences that result from projecting elements in the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Share``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
                Creates a buffer with a shared view over the source sequence, causing each enumerator to fetch the next element
                from the source sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <returns>Buffer enabling each enumerator to retrieve elements from the shared source sequence.</returns>
            <example>
                var rng = Enumerable.Range(0, 10).Share();
                var e1 = rng.GetEnumerator();    // Both e1 and e2 will consume elements from
                var e2 = rng.GetEnumerator();    // the source sequence.
                Assert.IsTrue(e1.MoveNext());
                Assert.AreEqual(0, e1.Current);
                Assert.IsTrue(e1.MoveNext());
                Assert.AreEqual(1, e1.Current);
                Assert.IsTrue(e2.MoveNext());    // e2 "steals" element 2
                Assert.AreEqual(2, e2.Current);
                Assert.IsTrue(e1.MoveNext());    // e1 can't see element 2
                Assert.AreEqual(3, e1.Current);
            </example>
        </member>
        <member name="M:System.Linq.EnumerableEx.Share``2(System.Collections.Generic.IEnumerable{``0},System.Func{System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}})">
            <summary>
                Shares the source sequence within a selector function where each enumerator can fetch the next element from the
                source sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="selector">Selector function with shared access to the source sequence for each enumerator.</param>
            <returns>Sequence resulting from applying the selector function to the shared view over the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.SkipLast``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Bypasses a specified number of contiguous elements from the end of the sequence and returns the remaining elements.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="count">
            The number of elements to skip from the end of the sequence before returning the remaining
            elements.
            </param>
            <returns>Sequence bypassing the specified number of elements counting from the end of the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.StartWith``1(System.Collections.Generic.IEnumerable{``0},``0[])">
            <summary>
            Returns the source sequence prefixed with the specified value.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="values">Values to prefix the sequence with.</param>
            <returns>Sequence starting with the specified prefix value, followed by the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.TakeLast``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Returns a specified number of contiguous elements from the end of the sequence.
            </summary>
            <typeparam name="TSource">Source sequence element type.</typeparam>
            <param name="source">Source sequence.</param>
            <param name="count">The number of elements to take from the end of the sequence.</param>
            <returns>Sequence with the specified number of elements counting from the end of the source sequence.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Throw``1(System.Exception)">
            <summary>
            Returns a sequence that throws an exception upon enumeration.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="exception">Exception to throw upon enumerating the resulting sequence.</param>
            <returns>Sequence that throws the specified exception upon enumeration.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.Using``2(System.Func{``1},System.Func{``1,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Generates a sequence that's dependent on a resource object whose lifetime is determined by the sequence usage
            duration.
            </summary>
            <typeparam name="TSource">Source element type.</typeparam>
            <typeparam name="TResource">Resource type.</typeparam>
            <param name="resourceFactory">Resource factory function.</param>
            <param name="enumerableFactory">Enumerable factory function, having access to the obtained resource.</param>
            <returns>Sequence whose use controls the lifetime of the associated obtained resource.</returns>
        </member>
        <member name="M:System.Linq.EnumerableEx.While``1(System.Func{System.Boolean},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Generates an enumerable sequence by repeating a source sequence as long as the given loop condition holds.
            </summary>
            <typeparam name="TResult">Result sequence element type.</typeparam>
            <param name="condition">Loop condition.</param>
            <param name="source">Sequence to repeat while the condition evaluates true.</param>
            <returns>Sequence generated by repeating the given sequence while the condition evaluates to true.</returns>
        </member>
    </members>
</doc>
