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> { IterateListWithChecksHelper.IterateListWithChecks <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) { IterateListWithChecksHelper.IterateListWithChecks(list, ref acc); } else { IterateEnumerableHelper.IterateEnumerable <TIn, TEnumerable, TAcc>(_enumerable, ref acc); } }
public void Iterate <TAcc>(ref TAcc acc) where TAcc : struct, IAccumulator <TIn> { IterateListWithChecksHelper.IterateListWithChecks(_list, ref acc); }