Struct lens_rs::_ref [−][src]
build-in optics
to visit the data in pointers, implemented LensRef
assert_eq!(Box::new(0).view_ref(optic!(_ref)), &0); assert_eq!(Rc::new(0).view_ref(optic!(_ref)), &0); let x = Foo { a: &(1, 2), b: () }; assert_eq!(x.view_ref(optics!(a._ref._1)), &2)
Trait Implementations
impl<Optic> Clone for _ref<Optic> where
Optic: Clone,
[src]
Optic: Clone,
impl<Optic> Copy for _ref<Optic> where
Optic: Copy,
[src]
Optic: Copy,
impl<Optic> Debug for _ref<Optic> where
Optic: Debug,
[src]
Optic: Debug,
impl<Optic> Eq for _ref<Optic> where
Optic: Eq,
[src]
Optic: Eq,
impl<T: ?Sized, Image: ?Sized, Ls> LensRef<_ref<Ls>, Image> for Box<T> where
T: LensRef<Ls, Image>,
[src]
T: LensRef<Ls, Image>,
impl<T: ?Sized, Image: ?Sized, Ls> LensRef<_ref<Ls>, Image> for Rc<T> where
T: LensRef<Ls, Image>,
[src]
T: LensRef<Ls, Image>,
impl<T: ?Sized, Image: ?Sized, Ls> LensRef<_ref<Ls>, Image> for Arc<T> where
T: LensRef<Ls, Image>,
[src]
T: LensRef<Ls, Image>,
impl<T: ?Sized, Image: ?Sized, Ls> LensRef<_ref<Ls>, Image> for &mut T where
T: LensRef<Ls, Image>,
[src]
T: LensRef<Ls, Image>,
impl<T: ?Sized, Image: ?Sized, Ls> LensRef<_ref<Ls>, Image> for &T where
T: LensRef<Ls, Image>,
[src]
T: LensRef<Ls, Image>,
impl<Optic> PartialEq<_ref<Optic>> for _ref<Optic> where
Optic: PartialEq<Optic>,
[src]
Optic: PartialEq<Optic>,
pub fn eq(&self, other: &_ref<Optic>) -> bool
[src]
pub fn ne(&self, other: &_ref<Optic>) -> bool
[src]
impl<T: ?Sized, Image: ?Sized, Pm> PrismRef<_ref<Pm>, Image> for Box<T> where
T: PrismRef<Pm, Image>,
[src]
T: PrismRef<Pm, Image>,
fn preview_ref(&self, optics: _ref<Pm>) -> Option<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Pm> PrismRef<_ref<Pm>, Image> for Rc<T> where
T: PrismRef<Pm, Image>,
[src]
T: PrismRef<Pm, Image>,
fn preview_ref(&self, optics: _ref<Pm>) -> Option<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Pm> PrismRef<_ref<Pm>, Image> for Arc<T> where
T: PrismRef<Pm, Image>,
[src]
T: PrismRef<Pm, Image>,
fn preview_ref(&self, optics: _ref<Pm>) -> Option<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Pm> PrismRef<_ref<Pm>, Image> for &mut T where
T: PrismRef<Pm, Image>,
[src]
T: PrismRef<Pm, Image>,
fn preview_ref(&self, optics: _ref<Pm>) -> Option<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Pm> PrismRef<_ref<Pm>, Image> for &T where
T: PrismRef<Pm, Image>,
[src]
T: PrismRef<Pm, Image>,
fn preview_ref(&self, optics: _ref<Pm>) -> Option<&Image>
[src]
impl<Optic> StructuralEq for _ref<Optic>
[src]
impl<Optic> StructuralPartialEq for _ref<Optic>
[src]
impl<T: ?Sized, Image: ?Sized, Tr> TraversalRef<_ref<Tr>, Image> for Box<T> where
T: TraversalRef<Tr, Image>,
[src]
T: TraversalRef<Tr, Image>,
fn traverse_ref(&self, optics: _ref<Tr>) -> Vec<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Tr> TraversalRef<_ref<Tr>, Image> for Rc<T> where
T: TraversalRef<Tr, Image>,
[src]
T: TraversalRef<Tr, Image>,
fn traverse_ref(&self, optics: _ref<Tr>) -> Vec<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Tr> TraversalRef<_ref<Tr>, Image> for Arc<T> where
T: TraversalRef<Tr, Image>,
[src]
T: TraversalRef<Tr, Image>,
fn traverse_ref(&self, optics: _ref<Tr>) -> Vec<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Tr> TraversalRef<_ref<Tr>, Image> for &mut T where
T: TraversalRef<Tr, Image>,
[src]
T: TraversalRef<Tr, Image>,
fn traverse_ref(&self, optics: _ref<Tr>) -> Vec<&Image>
[src]
impl<T: ?Sized, Image: ?Sized, Tr> TraversalRef<_ref<Tr>, Image> for &T where
T: TraversalRef<Tr, Image>,
[src]
T: TraversalRef<Tr, Image>,
fn traverse_ref(&self, optics: _ref<Tr>) -> Vec<&Image>
[src]
Auto Trait Implementations
impl<Optic> RefUnwindSafe for _ref<Optic> where
Optic: RefUnwindSafe,
Optic: RefUnwindSafe,
impl<Optic> Send for _ref<Optic> where
Optic: Send,
Optic: Send,
impl<Optic> Sync for _ref<Optic> where
Optic: Sync,
Optic: Sync,
impl<Optic> Unpin for _ref<Optic> where
Optic: Unpin,
Optic: Unpin,
impl<Optic> UnwindSafe for _ref<Optic> where
Optic: UnwindSafe,
Optic: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Prism<__, T> for T
[src]
impl<T> PrismMut<__, T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> PrismRef<__, T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<Image, T> Review<__, Image> for T where
T: From<Image>,
[src]
T: From<Image>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> Traversal<__, T> for T
[src]
impl<T> TraversalMut<__, T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> TraversalRef<__, T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,