public void Iterate <TFilter1, TMid1, TFilter2, TOut, TAcc>(TFilter1 filter1, TFilter2 filter2, ref TAcc acc) where TFilter1 : struct, IFilter <TIn, TMid1> where TFilter2 : struct, IFilter <TMid1, TOut> where TAcc : struct, IAccumulator <TOut> { IterateListWithoutChecksHelper.IterateListWithoutChecks <TIn, TFilter1, TMid1, TFilter2, TOut, TAcc>(_list, filter1, filter2, ref acc); }
public void Iterate <TAcc>(ref TAcc acc) where TAcc : struct, IAccumulator <TIn> { if (_enumerable is TIn[] array) { IterateArrayHelper.IterateArray(array, ref acc); } else if (_enumerable is List <TIn> list) { IterateListWithoutChecksHelper.IterateListWithoutChecks(list, ref acc); } else { IterateEnumerableHelper.IterateEnumerable <TIn, TEnumerable, TAcc>(_enumerable, ref acc); } }
public void Iterate <TAcc>(ref TAcc acc) where TAcc : struct, IAccumulator <TIn> { IterateListWithoutChecksHelper.IterateListWithoutChecks(_list, ref acc); }