pub trait SliceableSequenceMutOp
where 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§

source

fn do_set(&mut self, index: usize, value: Self::Item)

source

fn do_delete(&mut self, index: usize)

source

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()

source

fn do_delete_range(&mut self, range: Range<usize>)

source

fn do_set_indexes<I>(&mut self, indexes: I, items: &[Self::Item])
where I: Iterator<Item = usize>,

source

fn do_delete_indexes<I>(&mut self, range: Range<usize>, indexes: I)
where I: Iterator<Item = usize>,

indexes must be positive order

Provided Methods§

source

fn setitem_by_index( &mut self, vm: &VirtualMachine, index: isize, value: Self::Item ) -> PyResult<()>

source

fn setitem_by_slice_no_resize( &mut self, vm: &VirtualMachine, slice: SaturatedSlice, items: &[Self::Item] ) -> PyResult<()>

source

fn setitem_by_slice( &mut self, vm: &VirtualMachine, slice: SaturatedSlice, items: &[Self::Item] ) -> PyResult<()>

source

fn delitem_by_index( &mut self, vm: &VirtualMachine, index: isize ) -> PyResult<()>

source

fn delitem_by_slice( &mut self, _vm: &VirtualMachine, slice: SaturatedSlice ) -> PyResult<()>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: Clone> SliceableSequenceMutOp for Vec<T>

§

type Item = T

source§

fn do_set(&mut self, index: usize, value: Self::Item)

source§

fn do_delete(&mut self, index: usize)

source§

fn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item])

source§

fn do_delete_range(&mut self, range: Range<usize>)

source§

fn do_set_indexes<I>(&mut self, indexes: I, items: &[Self::Item])
where I: Iterator<Item = usize>,

source§

fn do_delete_indexes<I>(&mut self, range: Range<usize>, indexes: I)
where I: Iterator<Item = usize>,

Implementors§