Kit.Core/LibExternal/System.Reactive/Linq/IQueryLanguage.NAry.tt

71 lines
2.2 KiB
Plaintext

// 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<T" + j + "> source" + j));
#>
IObservable<TResult> 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<T" + j + "> source" + j));
#>
IObservable<TResult> 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<T" + j + "> 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<T" + j + "> source" + j));
var tuple = "(" + string.Join(", ", Enumerable.Range(1, i).Select(j => "T" + j)) + ")";
#>
IObservable<<#=tuple#>> Zip<<#=genArgs#>>(<#=parameters#>);
<#
}
#>
}
}