Trait std::ops::SliceExperimental
[-]
[+]
[src]
pub trait Slice<Idx, Result> { fn as_slice_(&'a self) -> &'a Result; fn slice_from_or_fail(&'a self, from: &Idx) -> &'a Result; fn slice_to_or_fail(&'a self, to: &Idx) -> &'a Result; fn slice_or_fail(&'a self, from: &Idx, to: &Idx) -> &'a Result; }
The Slice
trait is used to specify the functionality of slicing operations
like arr[from..to]
when used in an immutable context.
Example
A trivial implementation of Slice
. When Foo[..Foo]
happens, it ends up
calling slice_to
, and therefore, main
prints Slicing!
.
#[deriving(Copy)] struct Foo; impl Slice<Foo, Foo> for Foo { fn as_slice_<'a>(&'a self) -> &'a Foo { println!("Slicing!"); self } fn slice_from_or_fail<'a>(&'a self, _from: &Foo) -> &'a Foo { println!("Slicing!"); self } fn slice_to_or_fail<'a>(&'a self, _to: &Foo) -> &'a Foo { println!("Slicing!"); self } fn slice_or_fail<'a>(&'a self, _from: &Foo, _to: &Foo) -> &'a Foo { println!("Slicing!"); self } } fn main() { Foo[..Foo]; }
Required Methods
fn as_slice_(&'a self) -> &'a Result
The method for the slicing operation foo[]
fn slice_from_or_fail(&'a self, from: &Idx) -> &'a Result
The method for the slicing operation foo[from..]
fn slice_to_or_fail(&'a self, to: &Idx) -> &'a Result
The method for the slicing operation foo[..to]
fn slice_or_fail(&'a self, from: &Idx, to: &Idx) -> &'a Result
The method for the slicing operation foo[from..to]