// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT License. // See the LICENSE file in the project root for more information. <#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ output extension=".cs" #> // This code was generated by a T4 template at <#=DateTime.Now#>. namespace System.Reactive.Linq { internal partial interface IQueryLanguage { <# for (int i = 2; i <= 16; i++) { var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)); var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable source" + j)); #> IObservable CombineLatest<<#=genArgs#>, TResult>(<#=parameters#>, Func<<#=genArgs#>, TResult> resultSelector); <# } #> <# for (int i = 2; i <= 16; i++) { var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)); var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable source" + j)); #> IObservable Zip<<#=genArgs#>, TResult>(<#=parameters#>, Func<<#=genArgs#>, TResult> resultSelector); <# } #> } internal partial interface IQueryLanguageEx { <# for (int i = 2; i <= 8; i++) { var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)); var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable source" + j)); var tuple = "(" + string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)) + ")"; #> IObservable<<#=tuple#>> CombineLatest<<#=genArgs#>>(<#=parameters#>); <# } #> <# for (int i = 2; i <= 8; i++) { var genArgs = string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)); var parameters = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable source" + j)); var tuple = "(" + string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)) + ")"; #> IObservable<<#=tuple#>> Zip<<#=genArgs#>>(<#=parameters#>); <# } #> } }