public bool SequenceEqual <TGenKey, TGenElement, TGenInItem2, TGenEnumerable2, TGenEnumerator2>( LookupSpecificEnumerable <TGenKey, TGenElement> first, GroupByDefaultEnumerable <TGenInItem2, TGenKey, TGenElement, TGenEnumerable2, TGenEnumerator2> second ) where TGenEnumerable2 : struct, IStructEnumerable <TGenInItem2, TGenEnumerator2> where TGenEnumerator2 : struct, IStructEnumerator <TGenInItem2> { return (CommonImplementation.SequenceEqual < GroupingEnumerable <TGenKey, TGenElement>, LookupSpecificEnumerable <TGenKey, TGenElement>, LookupSpecificEnumerator <TGenKey, TGenElement>, GroupByDefaultEnumerable <TGenInItem2, TGenKey, TGenElement, TGenEnumerable2, TGenEnumerator2>, GroupByDefaultEnumerator <TGenInItem2, TGenKey, TGenElement, TGenEnumerator2> >(ref first, ref second, null)); }
public bool SequenceEqual <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>( GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator> first, LookupDefaultEnumerable <TGenKey, TGenElement> second ) where TGenEnumerable : struct, IStructEnumerable <TGenInItem, TGenEnumerator> where TGenEnumerator : struct, IStructEnumerator <TGenInItem> { return (CommonImplementation.SequenceEqual < GroupingEnumerable <TGenKey, TGenElement>, GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>, GroupByDefaultEnumerator <TGenInItem, TGenKey, TGenElement, TGenEnumerator>, LookupDefaultEnumerable <TGenKey, TGenElement>, LookupDefaultEnumerator <TGenKey, TGenElement> >(ref first, ref second, null)); }
// SequenceEqual default public bool SequenceEqual <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>( PlaceholderEnumerable <GroupingEnumerable <TGenKey, TGenElement> > first, GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator> second ) where TGenEnumerable : struct, IStructEnumerable <TGenInItem, TGenEnumerator> where TGenEnumerator : struct, IStructEnumerator <TGenInItem> { return (CommonImplementation.SequenceEqual < GroupingEnumerable <TGenKey, TGenElement>, PlaceholderEnumerable <GroupingEnumerable <TGenKey, TGenElement> >, PlaceholderEnumerator <GroupingEnumerable <TGenKey, TGenElement> >, GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>, GroupByDefaultEnumerator <TGenInItem, TGenKey, TGenElement, TGenEnumerator> >(RefParam(first), ref second, null)); }
> Join <TOutItem, TJoinKeyItem, TJoinLeftItem, TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator>( BuiltInEnumerable <TJoinLeftItem> outer, GroupByDefaultEnumerable <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator> inner, Func <TJoinLeftItem, TJoinKeyItem> outerKeySelector, Func <GroupingEnumerable <TGenGroupByKey, TGenGroupByElement>, TJoinKeyItem> innerKeySelector, Func <TJoinLeftItem, GroupingEnumerable <TGenGroupByKey, TGenGroupByElement>, TOutItem> resultSelector, IEqualityComparer <TJoinKeyItem> comparer ) where TGenGroupByEnumerable : struct, IStructEnumerable <TGenGroupByInItem, TGenGroupByEnumerator> where TGenGroupByEnumerator : struct, IStructEnumerator <TGenGroupByInItem> { var outerBridge = Bridge(outer, nameof(outer)); if (inner.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(inner)); } if (outerKeySelector == null) { throw CommonImplementation.ArgumentNull(nameof(outerKeySelector)); } if (innerKeySelector == null) { throw CommonImplementation.ArgumentNull(nameof(innerKeySelector)); } if (resultSelector == null) { throw CommonImplementation.ArgumentNull(nameof(resultSelector)); } return (CommonImplementation.JoinImpl < TOutItem, TJoinKeyItem, TJoinLeftItem, BuiltInEnumerable <TJoinLeftItem>, BuiltInEnumerator <TJoinLeftItem>, GroupingEnumerable <TGenGroupByKey, TGenGroupByElement>, GroupByDefaultEnumerable <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator>, GroupByDefaultEnumerator <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerator> >(RefLocal(outerBridge), ref inner, outerKeySelector, innerKeySelector, resultSelector, comparer)); }
// SequenceEqual - GroupBySpecific, specific public bool SequenceEqual <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator, TGenInItem2, TGenEnumerable2, TGenEnumerator2>( GroupBySpecificEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator> first, GroupByDefaultEnumerable <TGenInItem2, TGenKey, TGenElement, TGenEnumerable2, TGenEnumerator2> second, IEqualityComparer <GroupingEnumerable <TGenKey, TGenElement> > comparer ) where TGenEnumerable : struct, IStructEnumerable <TGenInItem, TGenEnumerator> where TGenEnumerator : struct, IStructEnumerator <TGenInItem> where TGenEnumerable2 : struct, IStructEnumerable <TGenInItem2, TGenEnumerator2> where TGenEnumerator2 : struct, IStructEnumerator <TGenInItem2> { return (CommonImplementation.SequenceEqual < GroupingEnumerable <TGenKey, TGenElement>, GroupBySpecificEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>, GroupBySpecificEnumerator <TGenInItem, TGenKey, TGenElement, TGenEnumerator>, GroupByDefaultEnumerable <TGenInItem2, TGenKey, TGenElement, TGenEnumerable2, TGenEnumerator2>, GroupByDefaultEnumerator <TGenInItem2, TGenKey, TGenElement, TGenEnumerator2> >(ref first, ref second, comparer)); }
> Concat <TGenLookupKey, TGenLookupElement, TGenGroupByInItem2, TGenGroupByEnumerable2, TGenGroupByEnumerator2>( LookupSpecificEnumerable <TGenLookupKey, TGenLookupElement> first, GroupByDefaultEnumerable <TGenGroupByInItem2, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerable2, TGenGroupByEnumerator2> second ) where TGenGroupByEnumerable2 : struct, IStructEnumerable <TGenGroupByInItem2, TGenGroupByEnumerator2> where TGenGroupByEnumerator2 : struct, IStructEnumerator <TGenGroupByInItem2> { return (CommonImplementation.Concat < GroupingEnumerable <TGenLookupKey, TGenLookupElement>, LookupSpecificEnumerable <TGenLookupKey, TGenLookupElement>, LookupSpecificEnumerator <TGenLookupKey, TGenLookupElement>, GroupByDefaultEnumerable <TGenGroupByInItem2, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerable2, TGenGroupByEnumerator2>, GroupByDefaultEnumerator <TGenGroupByInItem2, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerator2> >( ref first, ref second )); }
> Concat <TGenGroupByInItem, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerable, TGenGroupByEnumerator>( GroupByDefaultEnumerable <TGenGroupByInItem, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerable, TGenGroupByEnumerator> first, LookupSpecificEnumerable <TGenLookupKey, TGenLookupElement> second ) where TGenGroupByEnumerable : struct, IStructEnumerable <TGenGroupByInItem, TGenGroupByEnumerator> where TGenGroupByEnumerator : struct, IStructEnumerator <TGenGroupByInItem> { return (CommonImplementation.Concat < GroupingEnumerable <TGenLookupKey, TGenLookupElement>, GroupByDefaultEnumerable <TGenGroupByInItem, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerable, TGenGroupByEnumerator>, GroupByDefaultEnumerator <TGenGroupByInItem, TGenLookupKey, TGenLookupElement, TGenGroupByEnumerator>, LookupSpecificEnumerable <TGenLookupKey, TGenLookupElement>, LookupSpecificEnumerator <TGenLookupKey, TGenLookupElement> >( ref first, ref second )); }
> Concat <TGenGroupByInItem, TGenKey, TGenElement, TGenGroupByEnumerable, TGenGroupByEnumerator>( PlaceholderEnumerable <GroupingEnumerable <TGenKey, TGenElement> > first, GroupByDefaultEnumerable <TGenGroupByInItem, TGenKey, TGenElement, TGenGroupByEnumerable, TGenGroupByEnumerator> second ) where TGenGroupByEnumerable : struct, IStructEnumerable <TGenGroupByInItem, TGenGroupByEnumerator> where TGenGroupByEnumerator : struct, IStructEnumerator <TGenGroupByInItem> { return (CommonImplementation.Concat < GroupingEnumerable <TGenKey, TGenElement>, PlaceholderEnumerable <GroupingEnumerable <TGenKey, TGenElement> >, PlaceholderEnumerator <GroupingEnumerable <TGenKey, TGenElement> >, GroupByDefaultEnumerable <TGenGroupByInItem, TGenKey, TGenElement, TGenGroupByEnumerable, TGenGroupByEnumerator>, GroupByDefaultEnumerator <TGenGroupByInItem, TGenKey, TGenElement, TGenGroupByEnumerator> >( RefParam(first), ref second )); }
> Except <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator>( BuiltInEnumerable <GroupingEnumerable <TGenGroupByKey, TGenGroupByElement> > first, GroupByDefaultEnumerable <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator> second ) where TGenGroupByEnumerable : struct, IStructEnumerable <TGenGroupByInItem, TGenGroupByEnumerator> where TGenGroupByEnumerator : struct, IStructEnumerator <TGenGroupByInItem> { var firstBridge = Bridge(first, nameof(first)); if (second.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(second)); } return(CommonImplementation.ExceptImpl < GroupingEnumerable <TGenGroupByKey, TGenGroupByElement>, BuiltInEnumerable <GroupingEnumerable <TGenGroupByKey, TGenGroupByElement> >, BuiltInEnumerator <GroupingEnumerable <TGenGroupByKey, TGenGroupByElement> >, GroupByDefaultEnumerable <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerable, TGenGroupByEnumerator>, GroupByDefaultEnumerator <TGenGroupByInItem, TGenGroupByKey, TGenGroupByElement, TGenGroupByEnumerator> >(RefLocal(firstBridge), ref second)); }
public bool SequenceEqual <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>( BuiltInEnumerable <GroupingEnumerable <TGenKey, TGenElement> > first, GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator> second, IEqualityComparer <GroupingEnumerable <TGenKey, TGenElement> > comparer ) where TGenEnumerable : struct, IStructEnumerable <TGenInItem, TGenEnumerator> where TGenEnumerator : struct, IStructEnumerator <TGenInItem> { var firstBridge = Bridge(first, nameof(second)); if (second.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(second)); } return (CommonImplementation.SequenceEqualImpl < GroupingEnumerable <TGenKey, TGenElement>, BuiltInEnumerable <GroupingEnumerable <TGenKey, TGenElement> >, BuiltInEnumerator <GroupingEnumerable <TGenKey, TGenElement> >, GroupByDefaultEnumerable <TGenInItem, TGenKey, TGenElement, TGenEnumerable, TGenEnumerator>, GroupByDefaultEnumerator <TGenInItem, TGenKey, TGenElement, TGenEnumerator> >(RefLocal(firstBridge), ref second, comparer)); }
public static System.Collections.Generic.LinkedList <GroupingEnumerable <TKey, TItem> > LinkedList <TInItem, TKey, TItem, TInnerEnumeable, TInnerEnumerator>(GroupByDefaultEnumerable <TInItem, TKey, TItem, TInnerEnumeable, TInnerEnumerator> second) where TInnerEnumeable : struct, IStructEnumerable <TInItem, TInnerEnumerator> where TInnerEnumerator : struct, IStructEnumerator <TInItem> => LinkedListImpl <GroupingEnumerable <TKey, TItem>, GroupByDefaultEnumerable <TInItem, TKey, TItem, TInnerEnumeable, TInnerEnumerator>, GroupByDefaultEnumerator <TInItem, TKey, TItem, TInnerEnumerator> >(ref second);