Add convenience fn's and impls for iterating and indexing MarkSets.
This commit is contained in:
parent
4267334303
commit
6077be2dfd
|
@ -57,7 +57,7 @@ impl Buffer {
|
||||||
// Update mark sets.
|
// Update mark sets.
|
||||||
let post_len = text.chars().count();
|
let post_len = text.chars().count();
|
||||||
for mark_set in self.mark_sets.iter_mut() {
|
for mark_set in self.mark_sets.iter_mut() {
|
||||||
for mark in mark_set.marks.iter_mut() {
|
for mark in mark_set.iter_mut() {
|
||||||
*mark = mark.edit((start, end), post_len);
|
*mark = mark.edit((start, end), post_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ impl Buffer {
|
||||||
|
|
||||||
// Update mark sets.
|
// Update mark sets.
|
||||||
for mark_set in self.mark_sets.iter_mut() {
|
for mark_set in self.mark_sets.iter_mut() {
|
||||||
for mark in mark_set.marks.iter_mut() {
|
for mark in mark_set.iter_mut() {
|
||||||
*mark = mark.edit((start, end), post_len);
|
*mark = mark.edit((start, end), post_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ impl Buffer {
|
||||||
|
|
||||||
// Update mark sets.
|
// Update mark sets.
|
||||||
for mark_set in self.mark_sets.iter_mut() {
|
for mark_set in self.mark_sets.iter_mut() {
|
||||||
for mark in mark_set.marks.iter_mut() {
|
for mark in mark_set.iter_mut() {
|
||||||
*mark = mark.edit((start, end), post_len);
|
*mark = mark.edit((start, end), post_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -208,4 +208,26 @@ impl MarkSet {
|
||||||
|
|
||||||
self.marks.truncate(i1 + 1);
|
self.marks.truncate(i1 + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn iter(&self) -> std::slice::Iter<Mark> {
|
||||||
|
self.marks.iter()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn iter_mut(&mut self) -> std::slice::IterMut<Mark> {
|
||||||
|
self.marks.iter_mut()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::ops::Index<usize> for MarkSet {
|
||||||
|
type Output = Mark;
|
||||||
|
|
||||||
|
fn index(&self, index: usize) -> &Mark {
|
||||||
|
&self.marks[index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::ops::IndexMut<usize> for MarkSet {
|
||||||
|
fn index_mut(&mut self, index: usize) -> &mut Mark {
|
||||||
|
&mut self.marks[index]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user