// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Reactive.Concurrency;
#if !NO_TPL
using System.Threading; // Used in XML doc comments
using System.Threading.Tasks;
#endif
namespace System.Reactive.Linq
{
public static partial class Observable
{
#region + Amb +
///
/// Propagates the observable sequence that reacts first.
///
/// The type of the elements in the source sequences.
/// First observable sequence.
/// Second observable sequence.
/// An observable sequence that surfaces either of the given sequences, whichever reacted first.
/// or is null.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Amb", Justification = "In honor of McCarthy.")]
public static IObservable Amb(this IObservable first, IObservable second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.Amb(first, second);
}
///
/// Propagates the observable sequence that reacts first.
///
/// The type of the elements in the source sequences.
/// Observable sources competing to react first.
/// An observable sequence that surfaces any of the given sequences, whichever reacted first.
/// is null.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Amb", Justification = "In honor of McCarthy.")]
public static IObservable Amb(params IObservable[] sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.Amb(sources);
}
///
/// Propagates the observable sequence that reacts first.
///
/// The type of the elements in the source sequences.
/// Observable sources competing to react first.
/// An observable sequence that surfaces any of the given sequences, whichever reacted first.
/// is null.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Amb", Justification = "In honor of McCarthy.")]
public static IObservable Amb(this IEnumerable> sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.Amb(sources);
}
#endregion
#region Buffer
///
/// Projects each element of an observable sequence into consecutive non-overlapping buffers.
///
/// The type of the elements in the source sequence, and in the lists in the result sequence.
/// The type of the elements in the sequences indicating buffer closing events.
/// Source sequence to produce buffers over.
/// A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed.
/// An observable sequence of buffers.
/// or is null.
public static IObservable> Buffer(this IObservable source, Func> bufferClosingSelector)
{
if (source == null)
throw new ArgumentNullException("source");
if (bufferClosingSelector == null)
throw new ArgumentNullException("bufferClosingSelector");
return s_impl.Buffer(source, bufferClosingSelector);
}
///
/// Projects each element of an observable sequence into zero or more buffers.
///
/// The type of the elements in the source sequence, and in the lists in the result sequence.
/// The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events.
/// The type of the elements in the sequences indicating buffer closing events.
/// Source sequence to produce buffers over.
/// Observable sequence whose elements denote the creation of new buffers.
/// A function invoked to define the closing of each produced buffer.
/// An observable sequence of buffers.
/// or or is null.
public static IObservable> Buffer(this IObservable source, IObservable bufferOpenings, Func> bufferClosingSelector)
{
if (source == null)
throw new ArgumentNullException("source");
if (bufferOpenings == null)
throw new ArgumentNullException("bufferOpenings");
if (bufferClosingSelector == null)
throw new ArgumentNullException("bufferClosingSelector");
return s_impl.Buffer(source, bufferOpenings, bufferClosingSelector);
}
///
/// Projects each element of an observable sequence into consecutive non-overlapping buffers.
///
/// The type of the elements in the source sequence, and in the lists in the result sequence.
/// The type of the elements in the sequences indicating buffer boundary events.
/// Source sequence to produce buffers over.
/// Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker.
/// An observable sequence of buffers.
/// or is null.
public static IObservable> Buffer(this IObservable source, IObservable bufferBoundaries)
{
if (source == null)
throw new ArgumentNullException("source");
if (bufferBoundaries == null)
throw new ArgumentNullException("bufferBoundaries");
return s_impl.Buffer(source, bufferBoundaries);
}
#endregion
#region + Catch +
///
/// Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.
///
/// The type of the elements in the source sequence and sequences returned by the exception handler function.
/// The type of the exception to catch and handle. Needs to derive from .
/// Source sequence.
/// Exception handler function, producing another observable sequence.
/// An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.
/// or is null.
public static IObservable Catch(this IObservable source, Func> handler) where TException : Exception
{
if (source == null)
throw new ArgumentNullException("source");
if (handler == null)
throw new ArgumentNullException("handler");
return s_impl.Catch(source, handler);
}
///
/// Continues an observable sequence that is terminated by an exception with the next observable sequence.
///
/// The type of the elements in the source sequence and handler sequence.
/// First observable sequence whose exception (if any) is caught.
/// Second observable sequence used to produce results when an error occurred in the first sequence.
/// An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred.
/// or is null.
public static IObservable Catch(this IObservable first, IObservable second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.Catch(first, second);
}
///
/// Continues an observable sequence that is terminated by an exception with the next observable sequence.
///
/// The type of the elements in the source and handler sequences.
/// Observable sequences to catch exceptions for.
/// An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.
/// is null.
public static IObservable Catch(params IObservable[] sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.Catch(sources);
}
///
/// Continues an observable sequence that is terminated by an exception with the next observable sequence.
///
/// The type of the elements in the source and handler sequences.
/// Observable sequences to catch exceptions for.
/// An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.
/// is null.
public static IObservable Catch(this IEnumerable> sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.Catch(sources);
}
#endregion
#region + CombineLatest +
///
/// Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Function to invoke whenever either of the sources produces an element.
/// An observable sequence containing the result of combining elements of both sources using the specified result selector function.
/// or or is null.
public static IObservable CombineLatest(this IObservable first, IObservable second, Func resultSelector)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(first, second, resultSelector);
}
#if !NO_PERF
/* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */
#region CombineLatest auto-generated code (8/3/2012 6:37:08 PM)
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, resultSelector);
}
#if !NO_LARGEARITY
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the twelfth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Twelfth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (source12 == null)
throw new ArgumentNullException("source12");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the twelfth source sequence.
/// The type of the elements in the thirteenth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Twelfth observable source.
/// Thirteenth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (source12 == null)
throw new ArgumentNullException("source12");
if (source13 == null)
throw new ArgumentNullException("source13");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the twelfth source sequence.
/// The type of the elements in the thirteenth source sequence.
/// The type of the elements in the fourteenth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Twelfth observable source.
/// Thirteenth observable source.
/// Fourteenth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (source12 == null)
throw new ArgumentNullException("source12");
if (source13 == null)
throw new ArgumentNullException("source13");
if (source14 == null)
throw new ArgumentNullException("source14");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the twelfth source sequence.
/// The type of the elements in the thirteenth source sequence.
/// The type of the elements in the fourteenth source sequence.
/// The type of the elements in the fifteenth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Twelfth observable source.
/// Thirteenth observable source.
/// Fourteenth observable source.
/// Fifteenth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (source12 == null)
throw new ArgumentNullException("source12");
if (source13 == null)
throw new ArgumentNullException("source13");
if (source14 == null)
throw new ArgumentNullException("source14");
if (source15 == null)
throw new ArgumentNullException("source15");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the first source sequence.
/// The type of the elements in the second source sequence.
/// The type of the elements in the third source sequence.
/// The type of the elements in the fourth source sequence.
/// The type of the elements in the fifth source sequence.
/// The type of the elements in the sixth source sequence.
/// The type of the elements in the seventh source sequence.
/// The type of the elements in the eighth source sequence.
/// The type of the elements in the ninth source sequence.
/// The type of the elements in the tenth source sequence.
/// The type of the elements in the eleventh source sequence.
/// The type of the elements in the twelfth source sequence.
/// The type of the elements in the thirteenth source sequence.
/// The type of the elements in the fourteenth source sequence.
/// The type of the elements in the fifteenth source sequence.
/// The type of the elements in the sixteenth source sequence.
/// The type of the elements in the result sequence, returned by the selector function.
/// First observable source.
/// Second observable source.
/// Third observable source.
/// Fourth observable source.
/// Fifth observable source.
/// Sixth observable source.
/// Seventh observable source.
/// Eighth observable source.
/// Ninth observable source.
/// Tenth observable source.
/// Eleventh observable source.
/// Twelfth observable source.
/// Thirteenth observable source.
/// Fourteenth observable source.
/// Fifteenth observable source.
/// Sixteenth observable source.
/// Function to invoke whenever any of the sources produces an element.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or or or or or or or or or or or or or or or or is null.
public static IObservable CombineLatest(this IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15, IObservable source16, Func resultSelector)
{
if (source1 == null)
throw new ArgumentNullException("source1");
if (source2 == null)
throw new ArgumentNullException("source2");
if (source3 == null)
throw new ArgumentNullException("source3");
if (source4 == null)
throw new ArgumentNullException("source4");
if (source5 == null)
throw new ArgumentNullException("source5");
if (source6 == null)
throw new ArgumentNullException("source6");
if (source7 == null)
throw new ArgumentNullException("source7");
if (source8 == null)
throw new ArgumentNullException("source8");
if (source9 == null)
throw new ArgumentNullException("source9");
if (source10 == null)
throw new ArgumentNullException("source10");
if (source11 == null)
throw new ArgumentNullException("source11");
if (source12 == null)
throw new ArgumentNullException("source12");
if (source13 == null)
throw new ArgumentNullException("source13");
if (source14 == null)
throw new ArgumentNullException("source14");
if (source15 == null)
throw new ArgumentNullException("source15");
if (source16 == null)
throw new ArgumentNullException("source16");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, source16, resultSelector);
}
#endif
#endregion
#endif
///
/// Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
///
/// The type of the elements in the source sequences.
/// The type of the elements in the result sequence, returned by the selector function.
/// Observable sources.
/// Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call.
/// An observable sequence containing the result of combining elements of the sources using the specified result selector function.
/// or is null.
public static IObservable CombineLatest(this IEnumerable> sources, Func, TResult> resultSelector)
{
if (sources == null)
throw new ArgumentNullException("sources");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.CombineLatest(sources, resultSelector);
}
///
/// Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.
///
/// The type of the elements in the source sequences, and in the lists in the result sequence.
/// Observable sources.
/// An observable sequence containing lists of the latest elements of the sources.
/// is null.
public static IObservable> CombineLatest(this IEnumerable> sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.CombineLatest(sources);
}
///
/// Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.
///
/// The type of the elements in the source sequences, and in the lists in the result sequence.
/// Observable sources.
/// An observable sequence containing lists of the latest elements of the sources.
/// is null.
public static IObservable> CombineLatest(params IObservable[] sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.CombineLatest