Trait std::ops::DerefExperimental
[-]
[+]
[src]
pub trait Deref<Result> { fn deref(&'a self) -> &'a Result; }
The Deref
trait is used to specify the functionality of dereferencing
operations like *v
.
Example
A struct with a single field which is accessible via dereferencing the struct.
struct DerefExample<T> { value: T } impl<T> Deref<T> for DerefExample<T> { fn deref<'a>(&'a self) -> &'a T { &self.value } } fn main() { let x = DerefExample { value: 'a' }; assert_eq!('a', *x); }struct DerefExample<T> { value: T } impl<T> Deref<T> for DerefExample<T> { fn deref<'a>(&'a self) -> &'a T { &self.value } } fn main() { let x = DerefExample { value: 'a' }; assert_eq!('a', *x); }
Required Methods
fn deref(&'a self) -> &'a Result
The method called to dereference a value
Implementors
impl<T: Zeroable> Deref<T> for NonZero<T>
impl<'a, T> Deref<T> for &'a T
impl<'a, T> Deref<T> for &'a mut T
impl<'a, T, B> Deref<B> for Cow<'a, T, B>
impl<'b, T> Deref<T> for Ref<'b, T>
impl<'b, T> Deref<T> for RefMut<'b, T>
impl<'a> Deref<BufferedReader<StdReader>> for StdinReaderGuard<'a>
impl<'id, T> Deref<T> for IdRef<'id, T>
impl Deref<str> for String
impl<'a> Deref<String> for DerefString<'a>
impl<T> Deref<[T]> for Vec<T>
impl<'a, T> Deref<Vec<T>> for DerefVec<'a, T>
impl<'mutex, T> Deref<T> for MutexGuard<'mutex, T>
impl<'rwlock, T> Deref<T> for RWLockReadGuard<'rwlock, T>
impl<'rwlock, T> Deref<T> for RWLockWriteGuard<'rwlock, T>
impl<T> Deref<T> for Box<T>
impl<T> Deref<T> for Arc<T>
impl<T> Deref<T> for Rc<T>