[−][src]Struct smart_access::AT
A “reference” to some “location”.
With default Cps
implementors every AT
is
guaranteed to be a list of “path parts” with type
AT<..AT<AT<AT<&mut root, I1>,I2>,I3>..In>
Though AT
is exposed, it's strongly recommended to use
impl Cps<View=T>
as a return type of your functions
and Cps<View=T>
bounds on their parameters.
Trait Implementations
impl<T, V: ?Sized, Index> Cps for AT<T, Index> where
T: Cps<View = V>,
V: At<Index>,
[src]
T: Cps<View = V>,
V: At<Index>,
access
returns Some
/ None
according to rules described here
type View = V::View
fn access<R, F>(self, f: F) -> Option<R> where
F: FnOnce(&mut Self::View) -> R,
[src]
F: FnOnce(&mut Self::View) -> R,
fn replace(self, new_val: Self::View) -> Option<Self::View> where
Self: Sized,
Self::View: Sized,
[src]
Self: Sized,
Self::View: Sized,
fn touch(self) -> Option<()> where
Self: Sized,
[src]
Self: Sized,
fn at<Index>(self, i: Index) -> AT<Self, Index> where
Self: Sized,
Self::View: At<Index>,
[src]
Self: Sized,
Self::View: At<Index>,
fn batch_ct(self) -> CpsBatch<Self, ()> where
Self: Sized,
[src]
Self: Sized,
fn batch_rt<R>(
self
) -> CpsBatch<Self, Vec<Box<dyn FnOnce(&mut Self::View, Option<R>) -> R>>> where
Self: Sized,
[src]
self
) -> CpsBatch<Self, Vec<Box<dyn FnOnce(&mut Self::View, Option<R>) -> R>>> where
Self: Sized,
Auto Trait Implementations
impl<T, Index> RefUnwindSafe for AT<T, Index> where
Index: RefUnwindSafe,
T: RefUnwindSafe,
Index: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, Index> Send for AT<T, Index> where
Index: Send,
T: Send,
Index: Send,
T: Send,
impl<T, Index> Sync for AT<T, Index> where
Index: Sync,
T: Sync,
Index: Sync,
T: Sync,
impl<T, Index> Unpin for AT<T, Index> where
Index: Unpin,
T: Unpin,
Index: Unpin,
T: Unpin,
impl<T, Index> UnwindSafe for AT<T, Index> where
Index: UnwindSafe,
T: UnwindSafe,
Index: UnwindSafe,
T: 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,
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, 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.
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>,