public void IterateRange(long index, T[] external, long externalOffset, long count, IterateOperator <T> op) { throw new NotImplementedException(); }
public void IterateRange(int index, T[] external, int externalOffset, int count, IterateOperator <T> op) { if ((index < 0) || (externalOffset < 0) || (count < 0)) { throw new ArgumentOutOfRangeException(); } if (unchecked ((uint)index + (uint)count > (uint)inner.Count) || ((external != null) && unchecked ((uint)externalOffset + (uint)count > (uint)external.Length))) { throw new ArgumentException(); } for (int i = 0; i < count; i++) { T item = inner[i + index]; T externalItem = default(T); if (external != null) { externalItem = external[i + externalOffset]; } op(ref item, ref externalItem); inner[i + index] = item; if (external != null) { external[i + externalOffset] = externalItem; } } }
public void IterateRange(int index, T[] external, int externalOffset, int count, IterateOperator <T> op) { inner.IterateRange(IntLong.ToLong(index), external, IntLong.ToLong(externalOffset), IntLong.ToLong(count), op); }