public void ForAll(EditItemWithIndexDelegate action) { for (int i = 0; i < buffer.Length; i++) { action(i, ref buffer.Span[i]); } }
public void Update(int start, int length, EditItemWithIndexDelegate a) { var s = buffer.Span.Slice(start, length); for (int i = 0; i < length; i++) { a(i + start, ref buffer.Span[i]); } }
public void ForAllParallel(EditItemWithIndexDelegate a) { blocks.AsParallel().ForAll(block => { for (int i = block.pos; i < block.length + block.pos; i++) { a(i, ref buffer.Span[i]); } }); }