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.
|
||||
let post_len = text.chars().count();
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ impl Buffer {
|
|||
|
||||
// Update mark sets.
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -124,7 +124,7 @@ impl Buffer {
|
|||
|
||||
// Update mark sets.
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -208,4 +208,26 @@ impl MarkSet {
|
|||
|
||||
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