IQueryLanguage.NAry.tt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. <#@ template debug="false" hostspecific="false" language="C#" #>
  5. <#@ assembly name="System.Core" #>
  6. <#@ import namespace="System.Linq" #>
  7. <#@ import namespace="System.Text" #>
  8. <#@ import namespace="System.Collections.Generic" #>
  9. <#@ output extension=".cs" #>
  10. // This code was generated by a T4 template at <#=DateTime.Now#>.
  11. namespace System.Reactive.Linq
  12. {
  13. partial interface IQueryLanguage
  14. {
  15. <#
  16. for (int i = 2; i <= 16; i++)
  17. {
  18. var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j));
  19. var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
  20. #>
  21. IObservable<TResult> CombineLatest<<#=genArgs#>, TResult>(<#=parameters#>, Func<<#=genArgs#>, TResult> resultSelector);
  22. <#
  23. }
  24. #>
  25. <#
  26. for (int i = 2; i <= 16; i++)
  27. {
  28. var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j));
  29. var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
  30. #>
  31. IObservable<TResult> Zip<<#=genArgs#>, TResult>(<#=parameters#>, Func<<#=genArgs#>, TResult> resultSelector);
  32. <#
  33. }
  34. #>
  35. }
  36. partial interface IQueryLanguageEx
  37. {
  38. <#
  39. for (int i = 2; i <= 8; i++)
  40. {
  41. var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j));
  42. var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
  43. var tuple = "(" + string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)) + ")";
  44. #>
  45. IObservable<<#=tuple#>> CombineLatest<<#=genArgs#>>(<#=parameters#>);
  46. <#
  47. }
  48. #>
  49. <#
  50. for (int i = 2; i <= 8; i++)
  51. {
  52. var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j));
  53. var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
  54. var tuple = "(" + string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)) + ")";
  55. #>
  56. IObservable<<#=tuple#>> Zip<<#=genArgs#>>(<#=parameters#>);
  57. <#
  58. }
  59. #>
  60. }
  61. }