private void ProcessLastPlainSlice(Item item) { if (_lastPlainSlice != null && _lastPlainSlice.Value == item.Value) { _lastPlainSlice.SetLastIndex(item); return; } var beforeLastPlainSlice = _lastPlainSlice; _lastPlainSlice = new PlainSlice(item); ProcessBeforeLastPlainSlice(beforeLastPlainSlice); }
private void ProcessBeforeLastPlainSlice(PlainSlice beforeLastPlainSlice) { var old = _beforeLastPlainSlice; _beforeLastPlainSlice = beforeLastPlainSlice; if (old == null) { return; } var size = old.Count() + _beforeLastPlainSlice.Count(); SetMaxSize(size); }
public BiSlice(PlainSlice previousPlainSlice) { _previousPlainSlice = previousPlainSlice; }