// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information. #if SUPPORT_FLAT_ASYNC_API using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace System.Linq { partial class AsyncEnumerable { public static ValueTask AggregateAsync(this IAsyncEnumerable source, Func> accumulator, CancellationToken cancellationToken) => AggregateAwaitAsync(source, accumulator, cancellationToken); public static ValueTask AggregateAsync(this IAsyncEnumerable source, TAccumulate seed, Func> accumulator, CancellationToken cancellationToken) => AggregateAwaitAsync(source, seed, accumulator, cancellationToken); public static ValueTask AggregateAsync(this IAsyncEnumerable source, TAccumulate seed, Func> accumulator, Func> resultSelector, CancellationToken cancellationToken) => AggregateAwaitAsync(source, seed, accumulator, resultSelector, cancellationToken); public static ValueTask AllAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => AllAwaitAsync(source, predicate, cancellationToken); public static ValueTask AnyAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => AnyAwaitAsync(source, predicate, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitAsync(source, selector, cancellationToken); public static ValueTask CountAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => CountAwaitAsync(source, predicate, cancellationToken); public static ValueTask FirstAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => FirstAwaitAsync(source, predicate, cancellationToken); public static ValueTask FirstOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => FirstOrDefaultAwaitAsync(source, predicate, cancellationToken); public static Task ForEachAsync(this IAsyncEnumerable source, Func action, CancellationToken cancellationToken) => ForEachAwaitAsync(source, action, cancellationToken); public static Task ForEachAsync(this IAsyncEnumerable source, Func action, CancellationToken cancellationToken) => ForEachAwaitAsync(source, action, cancellationToken); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector) => GroupByAwait(source, keySelector); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer) => GroupByAwait(source, keySelector, comparer); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector) => GroupByAwait(source, keySelector, elementSelector); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func, ValueTask> resultSelector) => GroupByAwait(source, keySelector, resultSelector); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, Func, ValueTask> resultSelector) => GroupByAwait(source, keySelector, elementSelector, resultSelector); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer) => GroupByAwait(source, keySelector, elementSelector, comparer); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func, ValueTask> resultSelector, IEqualityComparer comparer) => GroupByAwait(source, keySelector, resultSelector, comparer); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, Func, ValueTask> resultSelector, IEqualityComparer comparer) => GroupByAwait(source, keySelector, elementSelector, resultSelector, comparer); public static IAsyncEnumerable GroupJoin(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func, ValueTask> resultSelector) => GroupJoinAwait(outer, inner, outerKeySelector, innerKeySelector, resultSelector); public static IAsyncEnumerable GroupJoin(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func, ValueTask> resultSelector, IEqualityComparer comparer) => GroupJoinAwait(outer, inner, outerKeySelector, innerKeySelector, resultSelector, comparer); public static IAsyncEnumerable Join(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func> resultSelector) => JoinAwait(outer, inner, outerKeySelector, innerKeySelector, resultSelector); public static IAsyncEnumerable Join(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func> resultSelector, IEqualityComparer comparer) => JoinAwait(outer, inner, outerKeySelector, innerKeySelector, resultSelector, comparer); public static ValueTask LastAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LastAwaitAsync(source, predicate, cancellationToken); public static ValueTask LastOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LastOrDefaultAwaitAsync(source, predicate, cancellationToken); public static ValueTask LongCountAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LongCountAwaitAsync(source, predicate, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitAsync(source, selector, cancellationToken); public static IOrderedAsyncEnumerable OrderBy(this IAsyncEnumerable source, Func> keySelector) => OrderByAwait(source, keySelector); public static IOrderedAsyncEnumerable OrderBy(this IAsyncEnumerable source, Func> keySelector, IComparer comparer) => OrderByAwait(source, keySelector, comparer); public static IOrderedAsyncEnumerable OrderByDescending(this IAsyncEnumerable source, Func> keySelector) => OrderByDescendingAwait(source, keySelector); public static IOrderedAsyncEnumerable OrderByDescending(this IAsyncEnumerable source, Func> keySelector, IComparer comparer) => OrderByDescendingAwait(source, keySelector, comparer); public static IAsyncEnumerable Select(this IAsyncEnumerable source, Func> selector) => SelectAwait(source, selector); public static IAsyncEnumerable Select(this IAsyncEnumerable source, Func> selector) => SelectAwait(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> selector) => SelectManyAwait(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> selector) => SelectManyAwait(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> collectionSelector, Func> resultSelector) => SelectManyAwait(source, collectionSelector, resultSelector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> collectionSelector, Func> resultSelector) => SelectManyAwait(source, collectionSelector, resultSelector); public static ValueTask SingleAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => SingleAwaitAsync(source, predicate, cancellationToken); public static ValueTask SingleOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => SingleOrDefaultAwaitAsync(source, predicate, cancellationToken); public static IAsyncEnumerable SkipWhile(this IAsyncEnumerable source, Func> predicate) => SkipWhileAwait(source, predicate); public static IAsyncEnumerable SkipWhile(this IAsyncEnumerable source, Func> predicate) => SkipWhileAwait(source, predicate); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitAsync(source, selector, cancellationToken); public static IAsyncEnumerable TakeWhile(this IAsyncEnumerable source, Func> predicate) => TakeWhileAwait(source, predicate); public static IAsyncEnumerable TakeWhile(this IAsyncEnumerable source, Func> predicate) => TakeWhileAwait(source, predicate); public static IOrderedAsyncEnumerable ThenBy(this IOrderedAsyncEnumerable source, Func> keySelector) => ThenByAwait(source, keySelector); public static IOrderedAsyncEnumerable ThenBy(this IOrderedAsyncEnumerable source, Func> keySelector, IComparer comparer) => ThenByAwait(source, keySelector, comparer); public static IOrderedAsyncEnumerable ThenByDescending(this IOrderedAsyncEnumerable source, Func> keySelector) => ThenByDescendingAwait(source, keySelector); public static IOrderedAsyncEnumerable ThenByDescending(this IOrderedAsyncEnumerable source, Func> keySelector, IComparer comparer) => ThenByDescendingAwait(source, keySelector, comparer); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, CancellationToken cancellationToken) => ToDictionaryAwaitAsync(source, keySelector, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToDictionaryAwaitAsync(source, keySelector, comparer, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, CancellationToken cancellationToken) => ToDictionaryAwaitAsync(source, keySelector, elementSelector, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToDictionaryAwaitAsync(source, keySelector, elementSelector, comparer, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, CancellationToken cancellationToken) => ToLookupAwaitAsync(source, keySelector, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, CancellationToken cancellationToken) => ToLookupAwaitAsync(source, keySelector, elementSelector, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToLookupAwaitAsync(source, keySelector, comparer, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToLookupAwaitAsync(source, keySelector, elementSelector, comparer, cancellationToken); public static IAsyncEnumerable Where(this IAsyncEnumerable source, Func> predicate) => WhereAwait(source, predicate); public static IAsyncEnumerable Where(this IAsyncEnumerable source, Func> predicate) => WhereAwait(source, predicate); public static IAsyncEnumerable Zip(this IAsyncEnumerable first, IAsyncEnumerable second, Func> selector) => ZipAwait(first, second, selector); #if !NO_DEEP_CANCELLATION public static ValueTask AggregateAsync(this IAsyncEnumerable source, Func> accumulator, CancellationToken cancellationToken) => AggregateAwaitWithCancellationAsync(source, accumulator, cancellationToken); public static ValueTask AggregateAsync(this IAsyncEnumerable source, TAccumulate seed, Func> accumulator, CancellationToken cancellationToken) => AggregateAwaitWithCancellationAsync(source, seed, accumulator, cancellationToken); public static ValueTask AggregateAsync(this IAsyncEnumerable source, TAccumulate seed, Func> accumulator, Func> resultSelector, CancellationToken cancellationToken) => AggregateAwaitWithCancellationAsync(source, seed, accumulator, resultSelector, cancellationToken); public static ValueTask AllAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => AllAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask AnyAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => AnyAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask AverageAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => AverageAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask CountAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => CountAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask FirstAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => FirstAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask FirstOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => FirstOrDefaultAwaitWithCancellationAsync(source, predicate, cancellationToken); public static Task ForEachAsync(this IAsyncEnumerable source, Func action, CancellationToken cancellationToken) => ForEachAwaitWithCancellationAsync(source, action, cancellationToken); public static Task ForEachAsync(this IAsyncEnumerable source, Func action, CancellationToken cancellationToken) => ForEachAwaitWithCancellationAsync(source, action, cancellationToken); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector) => GroupByAwaitWithCancellation(source, keySelector); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer) => GroupByAwaitWithCancellation(source, keySelector, comparer); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector) => GroupByAwaitWithCancellation(source, keySelector, elementSelector); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func, CancellationToken, ValueTask> resultSelector) => GroupByAwaitWithCancellation(source, keySelector, resultSelector); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, Func, CancellationToken, ValueTask> resultSelector) => GroupByAwaitWithCancellation(source, keySelector, elementSelector, resultSelector); public static IAsyncEnumerable> GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer) => GroupByAwaitWithCancellation(source, keySelector, elementSelector, comparer); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func, CancellationToken, ValueTask> resultSelector, IEqualityComparer comparer) => GroupByAwaitWithCancellation(source, keySelector, resultSelector, comparer); public static IAsyncEnumerable GroupBy(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, Func, CancellationToken, ValueTask> resultSelector, IEqualityComparer comparer) => GroupByAwaitWithCancellation(source, keySelector, elementSelector, resultSelector, comparer); public static IAsyncEnumerable GroupJoin(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func, CancellationToken, ValueTask> resultSelector) => GroupJoinAwaitWithCancellation(outer, inner, outerKeySelector, innerKeySelector, resultSelector); public static IAsyncEnumerable GroupJoin(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func, CancellationToken, ValueTask> resultSelector, IEqualityComparer comparer) => GroupJoinAwaitWithCancellation(outer, inner, outerKeySelector, innerKeySelector, resultSelector, comparer); public static IAsyncEnumerable Join(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func> resultSelector) => JoinAwaitWithCancellation(outer, inner, outerKeySelector, innerKeySelector, resultSelector); public static IAsyncEnumerable Join(this IAsyncEnumerable outer, IAsyncEnumerable inner, Func> outerKeySelector, Func> innerKeySelector, Func> resultSelector, IEqualityComparer comparer) => JoinAwaitWithCancellation(outer, inner, outerKeySelector, innerKeySelector, resultSelector, comparer); public static ValueTask LastAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LastAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask LastOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LastOrDefaultAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask LongCountAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => LongCountAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MaxAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MaxAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask MinAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => MinAwaitWithCancellationAsync(source, selector, cancellationToken); public static IOrderedAsyncEnumerable OrderBy(this IAsyncEnumerable source, Func> keySelector) => OrderByAwaitWithCancellation(source, keySelector); public static IOrderedAsyncEnumerable OrderBy(this IAsyncEnumerable source, Func> keySelector, IComparer comparer) => OrderByAwaitWithCancellation(source, keySelector, comparer); public static IOrderedAsyncEnumerable OrderByDescending(this IAsyncEnumerable source, Func> keySelector) => OrderByDescendingAwaitWithCancellation(source, keySelector); public static IOrderedAsyncEnumerable OrderByDescending(this IAsyncEnumerable source, Func> keySelector, IComparer comparer) => OrderByDescendingAwaitWithCancellation(source, keySelector, comparer); public static IAsyncEnumerable Select(this IAsyncEnumerable source, Func> selector) => SelectAwaitWithCancellation(source, selector); public static IAsyncEnumerable Select(this IAsyncEnumerable source, Func> selector) => SelectAwaitWithCancellation(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> selector) => SelectManyAwaitWithCancellation(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> selector) => SelectManyAwaitWithCancellation(source, selector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> collectionSelector, Func> resultSelector) => SelectManyAwaitWithCancellation(source, collectionSelector, resultSelector); public static IAsyncEnumerable SelectMany(this IAsyncEnumerable source, Func>> collectionSelector, Func> resultSelector) => SelectManyAwaitWithCancellation(source, collectionSelector, resultSelector); public static ValueTask SingleAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => SingleAwaitWithCancellationAsync(source, predicate, cancellationToken); public static ValueTask SingleOrDefaultAsync(this IAsyncEnumerable source, Func> predicate, CancellationToken cancellationToken) => SingleOrDefaultAwaitWithCancellationAsync(source, predicate, cancellationToken); public static IAsyncEnumerable SkipWhile(this IAsyncEnumerable source, Func> predicate) => SkipWhileAwaitWithCancellation(source, predicate); public static IAsyncEnumerable SkipWhile(this IAsyncEnumerable source, Func> predicate) => SkipWhileAwaitWithCancellation(source, predicate); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static ValueTask SumAsync(this IAsyncEnumerable source, Func> selector, CancellationToken cancellationToken) => SumAwaitWithCancellationAsync(source, selector, cancellationToken); public static IAsyncEnumerable TakeWhile(this IAsyncEnumerable source, Func> predicate) => TakeWhileAwaitWithCancellation(source, predicate); public static IAsyncEnumerable TakeWhile(this IAsyncEnumerable source, Func> predicate) => TakeWhileAwaitWithCancellation(source, predicate); public static IOrderedAsyncEnumerable ThenBy(this IOrderedAsyncEnumerable source, Func> keySelector) => ThenByAwaitWithCancellation(source, keySelector); public static IOrderedAsyncEnumerable ThenBy(this IOrderedAsyncEnumerable source, Func> keySelector, IComparer comparer) => ThenByAwaitWithCancellation(source, keySelector, comparer); public static IOrderedAsyncEnumerable ThenByDescending(this IOrderedAsyncEnumerable source, Func> keySelector) => ThenByDescendingAwaitWithCancellation(source, keySelector); public static IOrderedAsyncEnumerable ThenByDescending(this IOrderedAsyncEnumerable source, Func> keySelector, IComparer comparer) => ThenByDescendingAwaitWithCancellation(source, keySelector, comparer); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, CancellationToken cancellationToken) => ToDictionaryAwaitWithCancellationAsync(source, keySelector, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToDictionaryAwaitWithCancellationAsync(source, keySelector, comparer, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, CancellationToken cancellationToken) => ToDictionaryAwaitWithCancellationAsync(source, keySelector, elementSelector, cancellationToken); public static ValueTask> ToDictionaryAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToDictionaryAwaitWithCancellationAsync(source, keySelector, elementSelector, comparer, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, CancellationToken cancellationToken) => ToLookupAwaitWithCancellationAsync(source, keySelector, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, CancellationToken cancellationToken) => ToLookupAwaitWithCancellationAsync(source, keySelector, elementSelector, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToLookupAwaitWithCancellationAsync(source, keySelector, comparer, cancellationToken); public static ValueTask> ToLookupAsync(this IAsyncEnumerable source, Func> keySelector, Func> elementSelector, IEqualityComparer comparer, CancellationToken cancellationToken) => ToLookupAwaitWithCancellationAsync(source, keySelector, elementSelector, comparer, cancellationToken); public static IAsyncEnumerable Where(this IAsyncEnumerable source, Func> predicate) => WhereAwaitWithCancellation(source, predicate); public static IAsyncEnumerable Where(this IAsyncEnumerable source, Func> predicate) => WhereAwaitWithCancellation(source, predicate); public static IAsyncEnumerable Zip(this IAsyncEnumerable first, IAsyncEnumerable second, Func> selector) => ZipAwaitWithCancellation(first, second, selector); #endif } } #endif