public static ValueEnumerableExtensions.SelectEnumerable <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult, TSelector> Select <TSource, TResult, TSelector>( this ImmutableStack <TSource> source, TSelector selector = default) where TSelector : struct, IFunction <TSource, TResult> => ValueEnumerableExtensions.Select <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult, TSelector>(new ValueWrapper <TSource>(source), selector);
public static ValueEnumerableExtensions.SelectAtEnumerable <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult, FunctionWrapper <TSource, int, TResult> > Select <TSource, TResult>( this ImmutableStack <TSource> source, Func <TSource, int, TResult> selector) => ValueEnumerableExtensions.Select <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult>(new ValueWrapper <TSource>(source), selector);
public static ValueEnumerableExtensions.SelectAtEnumerable <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult> Select <TSource, TResult>( this ImmutableQueue <TSource> source, NullableSelectorAt <TSource, TResult> selector) => ValueEnumerableExtensions.Select <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TResult>(new ValueWrapper <TSource>(source), selector);