Trait core::ops::Index
[−]
[src]
pub trait Index<Idx: ?Sized> {
type Output: ?Sized;
fn index(&self, index: Idx) -> &Self::Output;
}The Index trait is used to specify the functionality of indexing operations
like arr[idx] when used in an immutable context.
Examples
A trivial implementation of Index. When Foo[Bar] happens, it ends up
calling index, and therefore, main prints Indexing!.
use std::ops::Index; #[derive(Copy, Clone)] struct Foo; struct Bar; impl Index<Bar> for Foo { type Output = Foo; fn index<'a>(&'a self, _index: Bar) -> &'a Foo { println!("Indexing!"); self } } fn main() { Foo[Bar]; }
Associated Types
Required Methods
Implementors
impl<T> Index<usize> for [T]impl<T> Index<Range<usize>> for [T]impl<T> Index<RangeTo<usize>> for [T]impl<T> Index<RangeFrom<usize>> for [T]impl<T> Index<RangeFull> for [T]impl<T> Index<RangeInclusive<usize>> for [T]impl<T> Index<RangeToInclusive<usize>> for [T]impl Index<Range<usize>> for strimpl Index<RangeTo<usize>> for strimpl Index<RangeFrom<usize>> for strimpl Index<RangeFull> for strimpl Index<RangeInclusive<usize>> for strimpl Index<RangeToInclusive<usize>> for str