pub trait SliceableSequenceMutOpwhere
Self: AsRef<[Self::Item]>,{
type Item: Clone;
// Required methods
fn do_set(&mut self, index: usize, value: Self::Item);
fn do_delete(&mut self, index: usize);
fn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item]);
fn do_delete_range(&mut self, range: Range<usize>);
fn do_set_indexes<I>(&mut self, indexes: I, items: &[Self::Item])
where I: Iterator<Item = usize>;
fn do_delete_indexes<I>(&mut self, range: Range<usize>, indexes: I)
where I: Iterator<Item = usize>;
// Provided methods
fn setitem_by_index(
&mut self,
vm: &VirtualMachine,
index: isize,
value: Self::Item
) -> PyResult<()> { ... }
fn setitem_by_slice_no_resize(
&mut self,
vm: &VirtualMachine,
slice: SaturatedSlice,
items: &[Self::Item]
) -> PyResult<()> { ... }
fn setitem_by_slice(
&mut self,
vm: &VirtualMachine,
slice: SaturatedSlice,
items: &[Self::Item]
) -> PyResult<()> { ... }
fn delitem_by_index(
&mut self,
vm: &VirtualMachine,
index: isize
) -> PyResult<()> { ... }
fn delitem_by_slice(
&mut self,
_vm: &VirtualMachine,
slice: SaturatedSlice
) -> PyResult<()> { ... }
}
Required Associated Types§
Required Methods§
fn do_set(&mut self, index: usize, value: Self::Item)
fn do_delete(&mut self, index: usize)
sourcefn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item])
fn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item])
as CPython, length of range and items could be different, function must act like Vec::splice()