1
0

IQueryLanguage.cs 80 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762
  1. // Licensed to the .NET Foundation under one or more agreements.
  2. // The .NET Foundation licenses this file to you under the MIT License.
  3. // See the LICENSE file in the project root for more information.
  4. using System.Collections.Generic;
  5. using System.Diagnostics.CodeAnalysis;
  6. using System.Linq;
  7. using System.Reactive.Concurrency;
  8. using System.Reactive.Joins;
  9. using System.Reactive.Subjects;
  10. using System.Threading;
  11. using System.Threading.Tasks;
  12. namespace System.Reactive.Linq
  13. {
  14. /// <summary>
  15. /// Internal interface describing the LINQ to Events query language.
  16. /// </summary>
  17. internal partial interface IQueryLanguage
  18. {
  19. #region * Aggregates *
  20. IObservable<TAccumulate> Aggregate<TSource, TAccumulate>(IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator);
  21. IObservable<TResult> Aggregate<TSource, TAccumulate, TResult>(IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector);
  22. IObservable<TSource> Aggregate<TSource>(IObservable<TSource> source, Func<TSource, TSource, TSource> accumulator);
  23. IObservable<bool> All<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  24. IObservable<bool> Any<TSource>(IObservable<TSource> source);
  25. IObservable<bool> Any<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  26. IObservable<double> Average(IObservable<double> source);
  27. IObservable<float> Average(IObservable<float> source);
  28. IObservable<decimal> Average(IObservable<decimal> source);
  29. IObservable<double> Average(IObservable<int> source);
  30. IObservable<double> Average(IObservable<long> source);
  31. IObservable<double?> Average(IObservable<double?> source);
  32. IObservable<float?> Average(IObservable<float?> source);
  33. IObservable<decimal?> Average(IObservable<decimal?> source);
  34. IObservable<double?> Average(IObservable<int?> source);
  35. IObservable<double?> Average(IObservable<long?> source);
  36. IObservable<double> Average<TSource>(IObservable<TSource> source, Func<TSource, double> selector);
  37. IObservable<float> Average<TSource>(IObservable<TSource> source, Func<TSource, float> selector);
  38. IObservable<decimal> Average<TSource>(IObservable<TSource> source, Func<TSource, decimal> selector);
  39. IObservable<double> Average<TSource>(IObservable<TSource> source, Func<TSource, int> selector);
  40. IObservable<double> Average<TSource>(IObservable<TSource> source, Func<TSource, long> selector);
  41. IObservable<double?> Average<TSource>(IObservable<TSource> source, Func<TSource, double?> selector);
  42. IObservable<float?> Average<TSource>(IObservable<TSource> source, Func<TSource, float?> selector);
  43. IObservable<decimal?> Average<TSource>(IObservable<TSource> source, Func<TSource, decimal?> selector);
  44. IObservable<double?> Average<TSource>(IObservable<TSource> source, Func<TSource, int?> selector);
  45. IObservable<double?> Average<TSource>(IObservable<TSource> source, Func<TSource, long?> selector);
  46. IObservable<bool> Contains<TSource>(IObservable<TSource> source, TSource value);
  47. IObservable<bool> Contains<TSource>(IObservable<TSource> source, TSource value, IEqualityComparer<TSource> comparer);
  48. IObservable<int> Count<TSource>(IObservable<TSource> source);
  49. IObservable<int> Count<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  50. IObservable<TSource> ElementAt<TSource>(IObservable<TSource> source, int index);
  51. IObservable<TSource?> ElementAtOrDefault<TSource>(IObservable<TSource> source, int index);
  52. IObservable<TSource> FirstAsync<TSource>(IObservable<TSource> source);
  53. IObservable<TSource> FirstAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  54. IObservable<TSource?> FirstOrDefaultAsync<TSource>(IObservable<TSource> source);
  55. IObservable<TSource?> FirstOrDefaultAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  56. IObservable<bool> IsEmpty<TSource>(IObservable<TSource> source);
  57. IObservable<TSource> LastAsync<TSource>(IObservable<TSource> source);
  58. IObservable<TSource> LastAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  59. IObservable<TSource?> LastOrDefaultAsync<TSource>(IObservable<TSource> source);
  60. IObservable<TSource?> LastOrDefaultAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  61. IObservable<long> LongCount<TSource>(IObservable<TSource> source);
  62. IObservable<long> LongCount<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  63. IObservable<TSource> Max<TSource>(IObservable<TSource> source);
  64. IObservable<TSource> Max<TSource>(IObservable<TSource> source, IComparer<TSource> comparer);
  65. IObservable<double> Max(IObservable<double> source);
  66. IObservable<float> Max(IObservable<float> source);
  67. IObservable<decimal> Max(IObservable<decimal> source);
  68. IObservable<int> Max(IObservable<int> source);
  69. IObservable<long> Max(IObservable<long> source);
  70. IObservable<double?> Max(IObservable<double?> source);
  71. IObservable<float?> Max(IObservable<float?> source);
  72. IObservable<decimal?> Max(IObservable<decimal?> source);
  73. IObservable<int?> Max(IObservable<int?> source);
  74. IObservable<long?> Max(IObservable<long?> source);
  75. IObservable<TResult> Max<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector);
  76. IObservable<TResult> Max<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector, IComparer<TResult> comparer);
  77. IObservable<double> Max<TSource>(IObservable<TSource> source, Func<TSource, double> selector);
  78. IObservable<float> Max<TSource>(IObservable<TSource> source, Func<TSource, float> selector);
  79. IObservable<decimal> Max<TSource>(IObservable<TSource> source, Func<TSource, decimal> selector);
  80. IObservable<int> Max<TSource>(IObservable<TSource> source, Func<TSource, int> selector);
  81. IObservable<long> Max<TSource>(IObservable<TSource> source, Func<TSource, long> selector);
  82. IObservable<double?> Max<TSource>(IObservable<TSource> source, Func<TSource, double?> selector);
  83. IObservable<float?> Max<TSource>(IObservable<TSource> source, Func<TSource, float?> selector);
  84. IObservable<decimal?> Max<TSource>(IObservable<TSource> source, Func<TSource, decimal?> selector);
  85. IObservable<int?> Max<TSource>(IObservable<TSource> source, Func<TSource, int?> selector);
  86. IObservable<long?> Max<TSource>(IObservable<TSource> source, Func<TSource, long?> selector);
  87. IObservable<IList<TSource>> MaxBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  88. IObservable<IList<TSource>> MaxBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer);
  89. IObservable<TSource> Min<TSource>(IObservable<TSource> source);
  90. IObservable<TSource> Min<TSource>(IObservable<TSource> source, IComparer<TSource> comparer);
  91. IObservable<double> Min(IObservable<double> source);
  92. IObservable<float> Min(IObservable<float> source);
  93. IObservable<decimal> Min(IObservable<decimal> source);
  94. IObservable<int> Min(IObservable<int> source);
  95. IObservable<long> Min(IObservable<long> source);
  96. IObservable<double?> Min(IObservable<double?> source);
  97. IObservable<float?> Min(IObservable<float?> source);
  98. IObservable<decimal?> Min(IObservable<decimal?> source);
  99. IObservable<int?> Min(IObservable<int?> source);
  100. IObservable<long?> Min(IObservable<long?> source);
  101. IObservable<TResult> Min<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector);
  102. IObservable<TResult> Min<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector, IComparer<TResult> comparer);
  103. IObservable<double> Min<TSource>(IObservable<TSource> source, Func<TSource, double> selector);
  104. IObservable<float> Min<TSource>(IObservable<TSource> source, Func<TSource, float> selector);
  105. IObservable<decimal> Min<TSource>(IObservable<TSource> source, Func<TSource, decimal> selector);
  106. IObservable<int> Min<TSource>(IObservable<TSource> source, Func<TSource, int> selector);
  107. IObservable<long> Min<TSource>(IObservable<TSource> source, Func<TSource, long> selector);
  108. IObservable<double?> Min<TSource>(IObservable<TSource> source, Func<TSource, double?> selector);
  109. IObservable<float?> Min<TSource>(IObservable<TSource> source, Func<TSource, float?> selector);
  110. IObservable<decimal?> Min<TSource>(IObservable<TSource> source, Func<TSource, decimal?> selector);
  111. IObservable<int?> Min<TSource>(IObservable<TSource> source, Func<TSource, int?> selector);
  112. IObservable<long?> Min<TSource>(IObservable<TSource> source, Func<TSource, long?> selector);
  113. IObservable<IList<TSource>> MinBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  114. IObservable<IList<TSource>> MinBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer);
  115. IObservable<bool> SequenceEqual<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  116. IObservable<bool> SequenceEqual<TSource>(IObservable<TSource> first, IObservable<TSource> second, IEqualityComparer<TSource> comparer);
  117. IObservable<bool> SequenceEqual<TSource>(IObservable<TSource> first, IEnumerable<TSource> second);
  118. IObservable<bool> SequenceEqual<TSource>(IObservable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer);
  119. IObservable<TSource> SingleAsync<TSource>(IObservable<TSource> source);
  120. IObservable<TSource> SingleAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  121. IObservable<TSource?> SingleOrDefaultAsync<TSource>(IObservable<TSource> source);
  122. IObservable<TSource?> SingleOrDefaultAsync<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  123. IObservable<double> Sum(IObservable<double> source);
  124. IObservable<float> Sum(IObservable<float> source);
  125. IObservable<decimal> Sum(IObservable<decimal> source);
  126. IObservable<int> Sum(IObservable<int> source);
  127. IObservable<long> Sum(IObservable<long> source);
  128. IObservable<double?> Sum(IObservable<double?> source);
  129. IObservable<float?> Sum(IObservable<float?> source);
  130. IObservable<decimal?> Sum(IObservable<decimal?> source);
  131. IObservable<int?> Sum(IObservable<int?> source);
  132. IObservable<long?> Sum(IObservable<long?> source);
  133. IObservable<double> Sum<TSource>(IObservable<TSource> source, Func<TSource, double> selector);
  134. IObservable<float> Sum<TSource>(IObservable<TSource> source, Func<TSource, float> selector);
  135. IObservable<decimal> Sum<TSource>(IObservable<TSource> source, Func<TSource, decimal> selector);
  136. IObservable<int> Sum<TSource>(IObservable<TSource> source, Func<TSource, int> selector);
  137. IObservable<long> Sum<TSource>(IObservable<TSource> source, Func<TSource, long> selector);
  138. IObservable<double?> Sum<TSource>(IObservable<TSource> source, Func<TSource, double?> selector);
  139. IObservable<float?> Sum<TSource>(IObservable<TSource> source, Func<TSource, float?> selector);
  140. IObservable<decimal?> Sum<TSource>(IObservable<TSource> source, Func<TSource, decimal?> selector);
  141. IObservable<int?> Sum<TSource>(IObservable<TSource> source, Func<TSource, int?> selector);
  142. IObservable<long?> Sum<TSource>(IObservable<TSource> source, Func<TSource, long?> selector);
  143. IObservable<TSource[]> ToArray<TSource>(IObservable<TSource> source);
  144. IObservable<IDictionary<TKey, TElement>> ToDictionary<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer) where TKey : notnull;
  145. IObservable<IDictionary<TKey, TElement>> ToDictionary<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector) where TKey : notnull;
  146. IObservable<IDictionary<TKey, TSource>> ToDictionary<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) where TKey : notnull;
  147. IObservable<IDictionary<TKey, TSource>> ToDictionary<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector) where TKey : notnull;
  148. IObservable<IList<TSource>> ToList<TSource>(IObservable<TSource> source);
  149. IObservable<ILookup<TKey, TElement>> ToLookup<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer);
  150. IObservable<ILookup<TKey, TSource>> ToLookup<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer);
  151. IObservable<ILookup<TKey, TElement>> ToLookup<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector);
  152. IObservable<ILookup<TKey, TSource>> ToLookup<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  153. #endregion
  154. #region * Async *
  155. Func<IObservable<TResult>> FromAsyncPattern<TResult>(Func<AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  156. Func<T1, IObservable<TResult>> FromAsyncPattern<T1, TResult>(Func<T1, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  157. Func<T1, T2, IObservable<TResult>> FromAsyncPattern<T1, T2, TResult>(Func<T1, T2, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  158. Func<T1, T2, T3, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, TResult>(Func<T1, T2, T3, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  159. Func<T1, T2, T3, T4, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, TResult>(Func<T1, T2, T3, T4, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  160. Func<T1, T2, T3, T4, T5, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, TResult>(Func<T1, T2, T3, T4, T5, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  161. Func<T1, T2, T3, T4, T5, T6, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, TResult>(Func<T1, T2, T3, T4, T5, T6, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  162. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  163. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  164. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  165. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  166. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  167. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  168. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  169. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<TResult>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, AsyncCallback, object?, IAsyncResult> begin, Func<IAsyncResult, TResult> end);
  170. Func<IObservable<Unit>> FromAsyncPattern(Func<AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  171. Func<T1, IObservable<Unit>> FromAsyncPattern<T1>(Func<T1, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  172. Func<T1, T2, IObservable<Unit>> FromAsyncPattern<T1, T2>(Func<T1, T2, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  173. Func<T1, T2, T3, IObservable<Unit>> FromAsyncPattern<T1, T2, T3>(Func<T1, T2, T3, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  174. Func<T1, T2, T3, T4, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4>(Func<T1, T2, T3, T4, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  175. Func<T1, T2, T3, T4, T5, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5>(Func<T1, T2, T3, T4, T5, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  176. Func<T1, T2, T3, T4, T5, T6, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6>(Func<T1, T2, T3, T4, T5, T6, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  177. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7>(Func<T1, T2, T3, T4, T5, T6, T7, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  178. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8>(Func<T1, T2, T3, T4, T5, T6, T7, T8, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  179. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  180. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  181. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  182. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  183. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  184. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<Unit>> FromAsyncPattern<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, AsyncCallback, object?, IAsyncResult> begin, Action<IAsyncResult> end);
  185. IObservable<TSource> Start<TSource>(Func<TSource> function);
  186. IObservable<TSource> Start<TSource>(Func<TSource> function, IScheduler scheduler);
  187. IObservable<TSource> StartAsync<TSource>(Func<Task<TSource>> functionAsync);
  188. IObservable<TSource> StartAsync<TSource>(Func<CancellationToken, Task<TSource>> functionAsync);
  189. IObservable<TSource> StartAsync<TSource>(Func<Task<TSource>> functionAsync, in TaskObservationOptions.Value options);
  190. IObservable<TSource> StartAsync<TSource>(Func<CancellationToken, Task<TSource>> functionAsync, in TaskObservationOptions.Value options);
  191. IObservable<Unit> Start(Action action);
  192. IObservable<Unit> Start(Action action, IScheduler scheduler);
  193. IObservable<Unit> StartAsync(Func<Task> actionAsync);
  194. IObservable<Unit> StartAsync(Func<CancellationToken, Task> actionAsync);
  195. IObservable<Unit> StartAsync(Func<Task> actionAsync, in TaskObservationOptions.Value options);
  196. IObservable<Unit> StartAsync(Func<CancellationToken, Task> actionAsync, in TaskObservationOptions.Value options);
  197. IObservable<TResult> FromAsync<TResult>(Func<Task<TResult>> functionAsync);
  198. IObservable<TResult> FromAsync<TResult>(Func<CancellationToken, Task<TResult>> functionAsync);
  199. IObservable<Unit> FromAsync(Func<Task> actionAsync);
  200. IObservable<Unit> FromAsync(Func<CancellationToken, Task> actionAsync);
  201. IObservable<TResult> FromAsync<TResult>(Func<Task<TResult>> functionAsync, TaskObservationOptions.Value options);
  202. IObservable<TResult> FromAsync<TResult>(Func<CancellationToken, Task<TResult>> functionAsync, TaskObservationOptions.Value options);
  203. IObservable<Unit> FromAsync(Func<Task> actionAsync, TaskObservationOptions.Value options);
  204. IObservable<Unit> FromAsync(Func<CancellationToken, Task> actionAsync, TaskObservationOptions.Value options);
  205. Func<IObservable<TResult>> ToAsync<TResult>(Func<TResult> function);
  206. Func<IObservable<TResult>> ToAsync<TResult>(Func<TResult> function, IScheduler scheduler);
  207. Func<T, IObservable<TResult>> ToAsync<T, TResult>(Func<T, TResult> function);
  208. Func<T, IObservable<TResult>> ToAsync<T, TResult>(Func<T, TResult> function, IScheduler scheduler);
  209. Func<T1, T2, IObservable<TResult>> ToAsync<T1, T2, TResult>(Func<T1, T2, TResult> function);
  210. Func<T1, T2, IObservable<TResult>> ToAsync<T1, T2, TResult>(Func<T1, T2, TResult> function, IScheduler scheduler);
  211. Func<T1, T2, T3, IObservable<TResult>> ToAsync<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> function);
  212. Func<T1, T2, T3, IObservable<TResult>> ToAsync<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> function, IScheduler scheduler);
  213. Func<T1, T2, T3, T4, IObservable<TResult>> ToAsync<T1, T2, T3, T4, TResult>(Func<T1, T2, T3, T4, TResult> function);
  214. Func<T1, T2, T3, T4, IObservable<TResult>> ToAsync<T1, T2, T3, T4, TResult>(Func<T1, T2, T3, T4, TResult> function, IScheduler scheduler);
  215. Func<T1, T2, T3, T4, T5, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, TResult>(Func<T1, T2, T3, T4, T5, TResult> function);
  216. Func<T1, T2, T3, T4, T5, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, TResult>(Func<T1, T2, T3, T4, T5, TResult> function, IScheduler scheduler);
  217. Func<T1, T2, T3, T4, T5, T6, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, TResult>(Func<T1, T2, T3, T4, T5, T6, TResult> function);
  218. Func<T1, T2, T3, T4, T5, T6, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, TResult>(Func<T1, T2, T3, T4, T5, T6, TResult> function, IScheduler scheduler);
  219. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, TResult> function);
  220. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, TResult> function, IScheduler scheduler);
  221. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> function);
  222. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> function, IScheduler scheduler);
  223. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> function);
  224. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> function, IScheduler scheduler);
  225. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> function);
  226. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> function, IScheduler scheduler);
  227. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> function);
  228. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> function, IScheduler scheduler);
  229. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> function);
  230. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> function, IScheduler scheduler);
  231. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> function);
  232. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> function, IScheduler scheduler);
  233. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> function);
  234. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> function, IScheduler scheduler);
  235. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> function);
  236. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> function, IScheduler scheduler);
  237. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> function);
  238. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, IObservable<TResult>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> function, IScheduler scheduler);
  239. Func<IObservable<Unit>> ToAsync(Action action);
  240. Func<IObservable<Unit>> ToAsync(Action action, IScheduler scheduler);
  241. Func<TSource, IObservable<Unit>> ToAsync<TSource>(Action<TSource> action);
  242. Func<TSource, IObservable<Unit>> ToAsync<TSource>(Action<TSource> action, IScheduler scheduler);
  243. Func<T1, T2, IObservable<Unit>> ToAsync<T1, T2>(Action<T1, T2> action);
  244. Func<T1, T2, IObservable<Unit>> ToAsync<T1, T2>(Action<T1, T2> action, IScheduler scheduler);
  245. Func<T1, T2, T3, IObservable<Unit>> ToAsync<T1, T2, T3>(Action<T1, T2, T3> action);
  246. Func<T1, T2, T3, IObservable<Unit>> ToAsync<T1, T2, T3>(Action<T1, T2, T3> action, IScheduler scheduler);
  247. Func<T1, T2, T3, T4, IObservable<Unit>> ToAsync<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action);
  248. Func<T1, T2, T3, T4, IObservable<Unit>> ToAsync<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action, IScheduler scheduler);
  249. Func<T1, T2, T3, T4, T5, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action);
  250. Func<T1, T2, T3, T4, T5, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action, IScheduler scheduler);
  251. Func<T1, T2, T3, T4, T5, T6, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action);
  252. Func<T1, T2, T3, T4, T5, T6, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action, IScheduler scheduler);
  253. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action);
  254. Func<T1, T2, T3, T4, T5, T6, T7, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action, IScheduler scheduler);
  255. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8>(Action<T1, T2, T3, T4, T5, T6, T7, T8> action);
  256. Func<T1, T2, T3, T4, T5, T6, T7, T8, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8>(Action<T1, T2, T3, T4, T5, T6, T7, T8> action, IScheduler scheduler);
  257. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9> action);
  258. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9> action, IScheduler scheduler);
  259. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> action);
  260. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> action, IScheduler scheduler);
  261. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> action);
  262. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> action, IScheduler scheduler);
  263. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> action);
  264. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> action, IScheduler scheduler);
  265. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> action);
  266. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> action, IScheduler scheduler);
  267. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> action);
  268. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> action, IScheduler scheduler);
  269. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> action);
  270. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> action, IScheduler scheduler);
  271. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> action);
  272. Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, IObservable<Unit>> ToAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> action, IScheduler scheduler);
  273. #endregion
  274. #region * Awaiter *
  275. AsyncSubject<TSource> GetAwaiter<TSource>(IObservable<TSource> source);
  276. AsyncSubject<TSource> GetAwaiter<TSource>(IConnectableObservable<TSource> source);
  277. AsyncSubject<TSource> RunAsync<TSource>(IObservable<TSource> source, CancellationToken cancellationToken);
  278. AsyncSubject<TSource> RunAsync<TSource>(IConnectableObservable<TSource> source, CancellationToken cancellationToken);
  279. #endregion
  280. #region * Binding *
  281. IConnectableObservable<TResult> Multicast<TSource, TResult>(IObservable<TSource> source, ISubject<TSource, TResult> subject);
  282. IObservable<TResult> Multicast<TSource, TIntermediate, TResult>(IObservable<TSource> source, Func<ISubject<TSource, TIntermediate>> subjectSelector, Func<IObservable<TIntermediate>, IObservable<TResult>> selector);
  283. IConnectableObservable<TSource> Publish<TSource>(IObservable<TSource> source);
  284. IObservable<TResult> Publish<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector);
  285. IConnectableObservable<TSource> Publish<TSource>(IObservable<TSource> source, TSource initialValue);
  286. IObservable<TResult> Publish<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TSource initialValue);
  287. IConnectableObservable<TSource> PublishLast<TSource>(IObservable<TSource> source);
  288. IObservable<TResult> PublishLast<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector);
  289. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source);
  290. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source, TimeSpan disconnectDelay);
  291. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source, TimeSpan disconnectDelay, IScheduler schedulder);
  292. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source, int minObservers);
  293. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source, int minObservers, TimeSpan disconnectDelay);
  294. IObservable<TSource> RefCount<TSource>(IConnectableObservable<TSource> source, int minObservers, TimeSpan disconnectDelay, IScheduler schedulder);
  295. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source);
  296. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, IScheduler scheduler);
  297. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector);
  298. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, IScheduler scheduler);
  299. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, TimeSpan window);
  300. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TimeSpan window);
  301. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, TimeSpan window, IScheduler scheduler);
  302. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TimeSpan window, IScheduler scheduler);
  303. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, int bufferSize, IScheduler scheduler);
  304. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, IScheduler scheduler);
  305. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, int bufferSize);
  306. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize);
  307. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, int bufferSize, TimeSpan window);
  308. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, TimeSpan window);
  309. IConnectableObservable<TSource> Replay<TSource>(IObservable<TSource> source, int bufferSize, TimeSpan window, IScheduler scheduler);
  310. IObservable<TResult> Replay<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, TimeSpan window, IScheduler scheduler);
  311. IObservable<TSource> AutoConnect<TSource>(IConnectableObservable<TSource> source, int minObservers, Action<IDisposable>? onConnect);
  312. #endregion
  313. #region * Blocking *
  314. IEnumerable<IList<TSource>> Chunkify<TSource>(IObservable<TSource> source);
  315. IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> newCollector, Func<TResult, TSource, TResult> merge);
  316. IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector);
  317. TSource First<TSource>(IObservable<TSource> source);
  318. TSource First<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  319. [return: MaybeNull] TSource FirstOrDefault<TSource>(IObservable<TSource> source);
  320. [return: MaybeNull] TSource FirstOrDefault<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  321. void ForEach<TSource>(IObservable<TSource> source, Action<TSource> onNext);
  322. void ForEach<TSource>(IObservable<TSource> source, Action<TSource, int> onNext);
  323. IEnumerator<TSource> GetEnumerator<TSource>(IObservable<TSource> source);
  324. TSource Last<TSource>(IObservable<TSource> source);
  325. TSource Last<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  326. [return: MaybeNull] TSource LastOrDefault<TSource>(IObservable<TSource> source);
  327. [return: MaybeNull] TSource LastOrDefault<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  328. IEnumerable<TSource> Latest<TSource>(IObservable<TSource> source);
  329. IEnumerable<TSource> MostRecent<TSource>(IObservable<TSource> source, TSource initialValue);
  330. IEnumerable<TSource> Next<TSource>(IObservable<TSource> source);
  331. TSource Single<TSource>(IObservable<TSource> source);
  332. [return: MaybeNull] TSource SingleOrDefault<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  333. [return: MaybeNull] TSource SingleOrDefault<TSource>(IObservable<TSource> source);
  334. TSource Single<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  335. TSource Wait<TSource>(IObservable<TSource> source);
  336. #endregion
  337. #region * Concurrency *
  338. IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, IScheduler scheduler);
  339. IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, SynchronizationContext context);
  340. IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, IScheduler scheduler);
  341. IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, SynchronizationContext context);
  342. IObservable<TSource> Synchronize<TSource>(IObservable<TSource> source);
  343. IObservable<TSource> Synchronize<TSource>(IObservable<TSource> source, object gate);
  344. #endregion
  345. #region * Conversions *
  346. IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer);
  347. IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler);
  348. IEnumerable<TSource> ToEnumerable<TSource>(IObservable<TSource> source);
  349. IEventSource<Unit> ToEvent(IObservable<Unit> source);
  350. IEventSource<TSource> ToEvent<TSource>(IObservable<TSource> source);
  351. IEventPatternSource<TEventArgs> ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>> source);
  352. IObservable<TSource> ToObservable<TSource>(IEnumerable<TSource> source);
  353. IObservable<TSource> ToObservable<TSource>(IEnumerable<TSource> source, IScheduler scheduler);
  354. #endregion
  355. #region * Creation *
  356. IObservable<TSource> Create<TSource>(Func<IObserver<TSource>, IDisposable> subscribe);
  357. IObservable<TSource> Create<TSource>(Func<IObserver<TSource>, Action> subscribe);
  358. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task> subscribeAsync);
  359. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task> subscribeAsync);
  360. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<IDisposable>> subscribeAsync);
  361. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task<IDisposable>> subscribeAsync);
  362. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<Action>> subscribeAsync);
  363. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task<Action>> subscribeAsync);
  364. IObservable<TValue> Defer<TValue>(Func<IObservable<TValue>> observableFactory);
  365. IObservable<TValue> Defer<TValue>(Func<Task<IObservable<TValue>>> observableFactoryAsync, bool ignoreExceptionsAfterUnsubscribe);
  366. IObservable<TValue> Defer<TValue>(Func<CancellationToken, Task<IObservable<TValue>>> observableFactoryAsync, bool ignoreExceptionsAfterUnsubscribe);
  367. IObservable<TResult> Empty<TResult>();
  368. IObservable<TResult> Empty<TResult>(IScheduler scheduler);
  369. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector);
  370. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, IScheduler scheduler);
  371. IObservable<TResult> Never<TResult>();
  372. IObservable<int> Range(int start, int count);
  373. IObservable<int> Range(int start, int count, IScheduler scheduler);
  374. IObservable<TResult> Repeat<TResult>(TResult value);
  375. IObservable<TResult> Repeat<TResult>(TResult value, IScheduler scheduler);
  376. IObservable<TResult> Repeat<TResult>(TResult value, int repeatCount);
  377. IObservable<TResult> Repeat<TResult>(TResult value, int repeatCount, IScheduler scheduler);
  378. IObservable<TResult> Return<TResult>(TResult value);
  379. IObservable<TResult> Return<TResult>(TResult value, IScheduler scheduler);
  380. IObservable<TResult> Throw<TResult>(Exception exception);
  381. IObservable<TResult> Throw<TResult>(Exception exception, IScheduler scheduler);
  382. IObservable<TSource> Using<TSource, TResource>(Func<TResource> resourceFactory, Func<TResource, IObservable<TSource>> observableFactory) where TResource : IDisposable;
  383. IObservable<TSource> Using<TSource, TResource>(Func<CancellationToken, Task<TResource>> resourceFactoryAsync, Func<TResource, CancellationToken, Task<IObservable<TSource>>> observableFactoryAsync) where TResource : IDisposable;
  384. #endregion
  385. #region * Events *
  386. IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler);
  387. IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler);
  388. IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler);
  389. IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler);
  390. IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler);
  391. IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler);
  392. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler);
  393. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler);
  394. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler);
  395. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler);
  396. #if HAS_TRIMMABILITY_ATTRIBUTES
  397. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  398. #endif
  399. IObservable<EventPattern<object>> FromEventPattern(object target, string eventName);
  400. #if HAS_TRIMMABILITY_ATTRIBUTES
  401. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  402. #endif
  403. IObservable<EventPattern<object>> FromEventPattern(object target, string eventName, IScheduler scheduler);
  404. #if HAS_TRIMMABILITY_ATTRIBUTES
  405. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  406. #endif
  407. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName);
  408. #if HAS_TRIMMABILITY_ATTRIBUTES
  409. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  410. #endif
  411. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName, IScheduler scheduler);
  412. #if HAS_TRIMMABILITY_ATTRIBUTES
  413. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  414. #endif
  415. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName);
  416. #if HAS_TRIMMABILITY_ATTRIBUTES
  417. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  418. #endif
  419. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName, IScheduler scheduler);
  420. #if HAS_TRIMMABILITY_ATTRIBUTES
  421. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  422. #endif
  423. IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName);
  424. #if HAS_TRIMMABILITY_ATTRIBUTES
  425. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  426. #endif
  427. IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName, IScheduler scheduler);
  428. #if HAS_TRIMMABILITY_ATTRIBUTES
  429. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  430. #endif
  431. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName);
  432. #if HAS_TRIMMABILITY_ATTRIBUTES
  433. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  434. #endif
  435. IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName, IScheduler scheduler);
  436. #if HAS_TRIMMABILITY_ATTRIBUTES
  437. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  438. #endif
  439. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName);
  440. #if HAS_TRIMMABILITY_ATTRIBUTES
  441. [RequiresUnreferencedCode(Constants_Core.EventReflectionTrimIncompatibilityMessage)]
  442. #endif
  443. IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName, IScheduler scheduler);
  444. IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler);
  445. IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler);
  446. IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler);
  447. IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler);
  448. IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler);
  449. IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler);
  450. IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler);
  451. IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler, IScheduler scheduler);
  452. #endregion
  453. #region * Imperative *
  454. Task ForEachAsync<TSource>(IObservable<TSource> source, Action<TSource> onNext);
  455. Task ForEachAsync<TSource>(IObservable<TSource> source, Action<TSource> onNext, CancellationToken cancellationToken);
  456. Task ForEachAsync<TSource>(IObservable<TSource> source, Action<TSource, int> onNext);
  457. Task ForEachAsync<TSource>(IObservable<TSource> source, Action<TSource, int> onNext, CancellationToken cancellationToken);
  458. IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources, IObservable<TResult> defaultSource) where TValue : notnull;
  459. IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources, IScheduler scheduler) where TValue : notnull;
  460. IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources) where TValue : notnull;
  461. IObservable<TSource> DoWhile<TSource>(IObservable<TSource> source, Func<bool> condition);
  462. IObservable<TResult> For<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, IObservable<TResult>> resultSelector);
  463. IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource, IObservable<TResult> elseSource);
  464. IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource);
  465. IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource, IScheduler scheduler);
  466. IObservable<TSource> While<TSource>(Func<bool> condition, IObservable<TSource> source);
  467. #endregion
  468. #region * Joins *
  469. Pattern<TLeft, TRight> And<TLeft, TRight>(IObservable<TLeft> left, IObservable<TRight> right);
  470. Plan<TResult> Then<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector);
  471. IObservable<TResult> When<TResult>(params Plan<TResult>[] plans);
  472. IObservable<TResult> When<TResult>(IEnumerable<Plan<TResult>> plans);
  473. #endregion
  474. #region * Multiple *
  475. IObservable<TSource> Amb<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  476. IObservable<TSource> Amb<TSource>(params IObservable<TSource>[] sources);
  477. IObservable<TSource> Amb<TSource>(IEnumerable<IObservable<TSource>> sources);
  478. IObservable<IList<TSource>> Buffer<TSource, TBufferClosing>(IObservable<TSource> source, Func<IObservable<TBufferClosing>> bufferClosingSelector);
  479. IObservable<IList<TSource>> Buffer<TSource, TBufferOpening, TBufferClosing>(IObservable<TSource> source, IObservable<TBufferOpening> bufferOpenings, Func<TBufferOpening, IObservable<TBufferClosing>> bufferClosingSelector);
  480. IObservable<IList<TSource>> Buffer<TSource, TBufferBoundary>(IObservable<TSource> source, IObservable<TBufferBoundary> bufferBoundaries);
  481. IObservable<TSource> Catch<TSource, TException>(IObservable<TSource> source, Func<TException, IObservable<TSource>> handler) where TException : Exception;
  482. IObservable<TSource> Catch<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  483. IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources);
  484. IObservable<TSource> Catch<TSource>(IEnumerable<IObservable<TSource>> sources);
  485. // NB: N-ary overloads of CombineLatest are generated in IQueryLanguage.tt.
  486. IObservable<TResult> CombineLatest<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector);
  487. IObservable<IList<TSource>> CombineLatest<TSource>(IEnumerable<IObservable<TSource>> sources);
  488. IObservable<IList<TSource>> CombineLatest<TSource>(params IObservable<TSource>[] sources);
  489. IObservable<TSource> Concat<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  490. IObservable<TSource> Concat<TSource>(params IObservable<TSource>[] sources);
  491. IObservable<TSource> Concat<TSource>(IEnumerable<IObservable<TSource>> sources);
  492. IObservable<TSource> Concat<TSource>(IObservable<IObservable<TSource>> sources);
  493. IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources);
  494. IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources, int maxConcurrent);
  495. IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent);
  496. IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent, IScheduler scheduler);
  497. IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  498. IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second, IScheduler scheduler);
  499. IObservable<TSource> Merge<TSource>(params IObservable<TSource>[] sources);
  500. IObservable<TSource> Merge<TSource>(IScheduler scheduler, params IObservable<TSource>[] sources);
  501. IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources);
  502. IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, IScheduler scheduler);
  503. IObservable<TSource> OnErrorResumeNext<TSource>(IObservable<TSource> first, IObservable<TSource> second);
  504. IObservable<TSource> OnErrorResumeNext<TSource>(params IObservable<TSource>[] sources);
  505. IObservable<TSource> OnErrorResumeNext<TSource>(IEnumerable<IObservable<TSource>> sources);
  506. IObservable<TSource> SkipUntil<TSource, TOther>(IObservable<TSource> source, IObservable<TOther> other);
  507. IObservable<TSource> Switch<TSource>(IObservable<IObservable<TSource>> sources);
  508. IObservable<TSource> TakeUntil<TSource, TOther>(IObservable<TSource> source, IObservable<TOther> other);
  509. IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, Func<TSource, bool> stopPredicate);
  510. IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, CancellationToken cancellationToken);
  511. IObservable<IObservable<TSource>> Window<TSource, TWindowClosing>(IObservable<TSource> source, Func<IObservable<TWindowClosing>> windowClosingSelector);
  512. IObservable<IObservable<TSource>> Window<TSource, TWindowOpening, TWindowClosing>(IObservable<TSource> source, IObservable<TWindowOpening> windowOpenings, Func<TWindowOpening, IObservable<TWindowClosing>> windowClosingSelector);
  513. IObservable<IObservable<TSource>> Window<TSource, TWindowBoundary>(IObservable<TSource> source, IObservable<TWindowBoundary> windowBoundaries);
  514. IObservable<TResult> WithLatestFrom<TFirst, TSecond, TResult>(IObservable<TFirst> first, IObservable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector);
  515. IObservable<TResult> Zip<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector);
  516. IObservable<IList<TSource>> Zip<TSource>(IEnumerable<IObservable<TSource>> sources);
  517. IObservable<IList<TSource>> Zip<TSource>(params IObservable<TSource>[] sources);
  518. // NB: N-ary overloads of Zip are generated in IQueryLanguage.tt.
  519. IObservable<TResult> Zip<TFirst, TSecond, TResult>(IObservable<TFirst> first, IEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector);
  520. IObservable<TSource> Concat<TSource>(IObservable<Task<TSource>> sources);
  521. IObservable<TSource> Merge<TSource>(IObservable<Task<TSource>> sources);
  522. IObservable<TSource> Switch<TSource>(IObservable<Task<TSource>> sources);
  523. #endregion
  524. #region * Single *
  525. IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value);
  526. IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler);
  527. IObservable<TSource> AsObservable<TSource>(IObservable<TSource> source);
  528. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, int count);
  529. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, int count, int skip);
  530. IObservable<TSource> ResetExceptionDispatchState<TSource>(IObservable<TSource> source);
  531. IObservable<TSource> Dematerialize<TSource>(IObservable<Notification<TSource>> source);
  532. IObservable<TSource> DistinctUntilChanged<TSource>(IObservable<TSource> source);
  533. IObservable<TSource> DistinctUntilChanged<TSource>(IObservable<TSource> source, IEqualityComparer<TSource> comparer);
  534. IObservable<TSource> DistinctUntilChanged<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  535. IObservable<TSource> DistinctUntilChanged<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer);
  536. IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext);
  537. IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action onCompleted);
  538. IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError);
  539. IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError, Action onCompleted);
  540. IObservable<TSource> Do<TSource>(IObservable<TSource> source, IObserver<TSource> observer);
  541. IObservable<TSource> Finally<TSource>(IObservable<TSource> source, Action finallyAction);
  542. IObservable<TSource> IgnoreElements<TSource>(IObservable<TSource> source);
  543. IObservable<Notification<TSource>> Materialize<TSource>(IObservable<TSource> source);
  544. IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value);
  545. IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler);
  546. IObservable<TSource> Repeat<TSource>(IObservable<TSource> source);
  547. IObservable<TSource> Repeat<TSource>(IObservable<TSource> source, int repeatCount);
  548. IObservable<TSource> RepeatWhen<TSource, TSignal>(IObservable<TSource> source, Func<IObservable<object>, IObservable<TSignal>> handler);
  549. IObservable<TSource> Retry<TSource>(IObservable<TSource> source);
  550. IObservable<TSource> Retry<TSource>(IObservable<TSource> source, int retryCount);
  551. IObservable<TSource> RetryWhen<TSource, TSignal>(IObservable<TSource> source, Func<IObservable<Exception>, IObservable<TSignal>> handler);
  552. IObservable<TAccumulate> Scan<TSource, TAccumulate>(IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator);
  553. IObservable<TSource> Scan<TSource>(IObservable<TSource> source, Func<TSource, TSource, TSource> accumulator);
  554. IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, int count);
  555. IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, params TSource[] values);
  556. IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IScheduler scheduler, params TSource[] values);
  557. IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IEnumerable<TSource> values);
  558. IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IScheduler scheduler, IEnumerable<TSource> values);
  559. IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, int count);
  560. IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, int count, IScheduler scheduler);
  561. IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, int count);
  562. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count, int skip);
  563. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count);
  564. #endregion
  565. #region * StandardSequenceOperators *
  566. IObservable<TResult> Cast<TResult>(IObservable<object> source);
  567. IObservable<TSource?> DefaultIfEmpty<TSource>(IObservable<TSource> source);
  568. IObservable<TSource> DefaultIfEmpty<TSource>(IObservable<TSource> source, TSource defaultValue);
  569. IObservable<TSource> Distinct<TSource>(IObservable<TSource> source);
  570. IObservable<TSource> Distinct<TSource>(IObservable<TSource> source, IEqualityComparer<TSource> comparer);
  571. IObservable<TSource> Distinct<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  572. IObservable<TSource> Distinct<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer);
  573. IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector);
  574. IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer);
  575. IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
  576. IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer);
  577. IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity);
  578. IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer);
  579. IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity);
  580. IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer);
  581. IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer);
  582. IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector);
  583. IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer);
  584. IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector);
  585. IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer);
  586. IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity);
  587. IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer);
  588. IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity);
  589. IObservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector);
  590. IObservable<TResult> Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector);
  591. IObservable<TResult> OfType<TResult>(IObservable<object> source);
  592. IObservable<TResult> Select<TSource, TResult>(IObservable<TSource> source, Func<TSource, TResult> selector);
  593. IObservable<TResult> Select<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, TResult> selector);
  594. IObservable<TOther> SelectMany<TSource, TOther>(IObservable<TSource> source, IObservable<TOther> other);
  595. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector);
  596. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector);
  597. IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector);
  598. IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector);
  599. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted);
  600. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted);
  601. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TResult>> selector);
  602. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector);
  603. IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector);
  604. IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector);
  605. IObservable<TSource> Skip<TSource>(IObservable<TSource> source, int count);
  606. IObservable<TSource> SkipWhile<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  607. IObservable<TSource> SkipWhile<TSource>(IObservable<TSource> source, Func<TSource, int, bool> predicate);
  608. IObservable<TSource> Take<TSource>(IObservable<TSource> source, int count);
  609. IObservable<TSource> Take<TSource>(IObservable<TSource> source, int count, IScheduler scheduler);
  610. IObservable<TSource> TakeWhile<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  611. IObservable<TSource> TakeWhile<TSource>(IObservable<TSource> source, Func<TSource, int, bool> predicate);
  612. IObservable<TSource> Where<TSource>(IObservable<TSource> source, Func<TSource, bool> predicate);
  613. IObservable<TSource> Where<TSource>(IObservable<TSource> source, Func<TSource, int, bool> predicate);
  614. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, Task<TResult>> selector);
  615. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector);
  616. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector);
  617. IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector);
  618. IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector);
  619. IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector);
  620. IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector);
  621. IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector);
  622. #endregion
  623. #region * Time *
  624. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan);
  625. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler);
  626. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift);
  627. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler);
  628. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count);
  629. IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler);
  630. IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime);
  631. IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler);
  632. IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime);
  633. IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler);
  634. IObservable<TSource> Delay<TSource, TDelay>(IObservable<TSource> source, Func<TSource, IObservable<TDelay>> delayDurationSelector);
  635. IObservable<TSource> Delay<TSource, TDelay>(IObservable<TSource> source, IObservable<TDelay> subscriptionDelay, Func<TSource, IObservable<TDelay>> delayDurationSelector);
  636. IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime);
  637. IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler);
  638. IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime);
  639. IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler);
  640. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector);
  641. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler);
  642. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector);
  643. IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler);
  644. IObservable<long> Interval(TimeSpan period);
  645. IObservable<long> Interval(TimeSpan period, IScheduler scheduler);
  646. IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval);
  647. IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval, IScheduler scheduler);
  648. IObservable<TSource> Sample<TSource, TSample>(IObservable<TSource> source, IObservable<TSample> sampler);
  649. IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration);
  650. IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler);
  651. IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration);
  652. IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler);
  653. IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime);
  654. IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler);
  655. IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration);
  656. IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler);
  657. IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration);
  658. IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler);
  659. IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler);
  660. IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration);
  661. IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler);
  662. IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime);
  663. IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler);
  664. IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime);
  665. IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler);
  666. IObservable<TSource> Throttle<TSource, TThrottle>(IObservable<TSource> source, Func<TSource, IObservable<TThrottle>> throttleDurationSelector);
  667. IObservable<TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source);
  668. IObservable<TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source, IScheduler scheduler);
  669. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime);
  670. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler);
  671. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other);
  672. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler);
  673. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime);
  674. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler);
  675. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other);
  676. IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler);
  677. IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector);
  678. IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other);
  679. IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector);
  680. IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other);
  681. IObservable<long> Timer(TimeSpan dueTime);
  682. IObservable<long> Timer(DateTimeOffset dueTime);
  683. IObservable<long> Timer(TimeSpan dueTime, TimeSpan period);
  684. IObservable<long> Timer(DateTimeOffset dueTime, TimeSpan period);
  685. IObservable<long> Timer(TimeSpan dueTime, IScheduler scheduler);
  686. IObservable<long> Timer(DateTimeOffset dueTime, IScheduler scheduler);
  687. IObservable<long> Timer(TimeSpan dueTime, TimeSpan period, IScheduler scheduler);
  688. IObservable<long> Timer(DateTimeOffset dueTime, TimeSpan period, IScheduler scheduler);
  689. IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source);
  690. IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source, IScheduler scheduler);
  691. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan);
  692. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler);
  693. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift);
  694. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler);
  695. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count);
  696. IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler);
  697. #endregion
  698. }
  699. }