public static ValueEnumerableExtensions.SelectManyEnumerable <ValueWrapper <TKey, TValue>, Dictionary <TKey, TValue> .Enumerator, KeyValuePair <TKey, TValue>, TSubEnumerable, TSubEnumerator, TResult> SelectMany <TKey, TValue, TSubEnumerable, TSubEnumerator, TResult>( this Dictionary <TKey, TValue> source, Selector <KeyValuePair <TKey, TValue>, TSubEnumerable> selector) where TSubEnumerable : IValueEnumerable <TResult, TSubEnumerator> where TSubEnumerator : struct, IEnumerator <TResult> where TKey : notnull => ValueEnumerableExtensions.SelectMany <ValueWrapper <TKey, TValue>, Dictionary <TKey, TValue> .Enumerator, KeyValuePair <TKey, TValue>, TSubEnumerable, TSubEnumerator, TResult>(new ValueWrapper <TKey, TValue>(source), selector);
public static ValueEnumerableExtensions.SelectManyEnumerable <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TSubEnumerable, TSubEnumerator, TResult, TSelector> SelectMany <TSource, TSubEnumerable, TSubEnumerator, TResult, TSelector>( this ImmutableStack <TSource> source, TSelector selector = default) where TSubEnumerable : IValueEnumerable <TResult, TSubEnumerator> where TSubEnumerator : struct, IEnumerator <TResult> where TSelector : struct, IFunction <TSource, TSubEnumerable> => ValueEnumerableExtensions.SelectMany <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TSubEnumerable, TSubEnumerator, TResult, TSelector>(new ValueWrapper <TSource>(source), selector);
public static ValueEnumerableExtensions.SelectManyEnumerable <ValueWrapper <TKey, TValue>, SortedDictionary <TKey, TValue> .KeyCollection.Enumerator, TKey, TSubEnumerable, TSubEnumerator, TResult> SelectMany <TKey, TValue, TSubEnumerable, TSubEnumerator, TResult>( this SortedDictionary <TKey, TValue> .KeyCollection source, Selector <TKey, TSubEnumerable> selector) where TSubEnumerable : IValueEnumerable <TResult, TSubEnumerator> where TSubEnumerator : struct, IEnumerator <TResult> => ValueEnumerableExtensions.SelectMany <ValueWrapper <TKey, TValue>, SortedDictionary <TKey, TValue> .KeyCollection.Enumerator, TKey, TSubEnumerable, TSubEnumerator, TResult>(new ValueWrapper <TKey, TValue>(source), selector);
public static ValueEnumerableExtensions.SelectManyEnumerable <ValueWrapper <TSource>, ImmutableHashSet <TSource> .Enumerator, TSource, TSubEnumerable, TSubEnumerator, TResult, FunctionWrapper <TSource, TSubEnumerable> > SelectMany <TSource, TSubEnumerable, TSubEnumerator, TResult>( this ImmutableHashSet <TSource> source, Func <TSource, TSubEnumerable> selector) where TSubEnumerable : IValueEnumerable <TResult, TSubEnumerator> where TSubEnumerator : struct, IEnumerator <TResult> => ValueEnumerableExtensions.SelectMany <ValueWrapper <TSource>, ImmutableHashSet <TSource> .Enumerator, TSource, TSubEnumerable, TSubEnumerator, TResult>(new ValueWrapper <TSource>(source), selector);