IQueryLanguageEx.cs 1.7 KB

123456789101112131415161718192021222324252627282930
  1. // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
  2. using System.Collections.Generic;
  3. using System.Reactive.Concurrency;
  4. namespace System.Reactive.Linq
  5. {
  6. /// <summary>
  7. /// Internal interface describing the LINQ to Events query language.
  8. /// </summary>
  9. internal interface IQueryLanguageEx
  10. {
  11. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, IEnumerable<IObservable<object>>> iteratorMethod);
  12. IObservable<Unit> Create(Func<IEnumerable<IObservable<object>>> iteratorMethod);
  13. IObservable<TSource> Expand<TSource>(IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector);
  14. IObservable<TSource> Expand<TSource>(IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector, IScheduler scheduler);
  15. IObservable<TResult> ForkJoin<TFirst, TSecond, TResult>(IObservable<TFirst> first, IObservable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector);
  16. IObservable<TSource[]> ForkJoin<TSource>(params IObservable<TSource>[] sources);
  17. IObservable<TSource[]> ForkJoin<TSource>(IEnumerable<IObservable<TSource>> sources);
  18. IObservable<TResult> Let<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> function);
  19. IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector);
  20. IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler);
  21. ListObservable<TSource> ToListObservable<TSource>(IObservable<TSource> source);
  22. }
  23. }