handle_last method
void
handle_last()
Implementation
void handle_last() {
if (this.value == null) {
return;
}
var _last = this.value!;
var max_rles = max_poses[_last.part];
if (max_rles == null) {
max_rles = []; // List<int>.empty();
max_poses[_last.part] = max_rles;
}
for (int idx in max_rles) {
final prev = this.ret[idx];
if (prev.cnt > _last.cnt) {
// println!(">>>>> last={:?}->{}->prev={:?}", _last, idx, prev);
_last.max = false;
} else if (prev.cnt == _last.cnt) {
// nothing
} else if (prev.cnt < _last.cnt) {
// println!("<<<<< last={:?}->{}->prev={:?}", _last, idx, prev);
//this.ret[idx].max = false;
prev.max = false;
}
}
//println!("push:{}:{:?}", this.ret.len(), _last);
max_rles.add(this.ret.length);
_last.pos = this.ret.length;
this.ret.add(_last);
}