Trait std::ops::IndexMutExperimental [-]  [+] [src]

pub trait IndexMut<Index, Result> {
    fn index_mut(&'a mut self, index: &Index) -> &'a mut Result;
}

The IndexMut trait is used to specify the functionality of indexing operations like arr[idx], when used in a mutable context.

Example

A trivial implementation of IndexMut. When Foo[Foo] happens, it ends up calling index_mut, and therefore, main prints Indexing!.

#[deriving(Copy)] struct Foo; impl IndexMut<Foo, Foo> for Foo { fn index_mut<'a>(&'a mut self, _index: &Foo) -> &'a mut Foo { println!("Indexing!"); self } } fn main() { &mut Foo[Foo]; }
#[deriving(Copy)]
struct Foo;

impl IndexMut<Foo, Foo> for Foo {
    fn index_mut<'a>(&'a mut self, _index: &Foo) -> &'a mut Foo {
        println!("Indexing!");
        self
    }
}

fn main() {
    &mut Foo[Foo];
}

Required Methods

fn index_mut(&'a mut self, index: &Index) -> &'a mut Result

The method for the indexing (Foo[Bar]) operation

Implementors