pub struct KpType<R, V, G, S>{ /* private fields */ }Implementations§
Source§impl<T> KpType<Arc<Mutex<T>>, Arc<Mutex<T>>, for<'r> fn(&'r Arc<Mutex<T>>) -> Option<&'r Arc<Mutex<T>>>, for<'r> fn(&'r mut Arc<Mutex<T>>) -> Option<&'r mut Arc<Mutex<T>>>>
impl<T> KpType<Arc<Mutex<T>>, Arc<Mutex<T>>, for<'r> fn(&'r Arc<Mutex<T>>) -> Option<&'r Arc<Mutex<T>>>, for<'r> fn(&'r mut Arc<Mutex<T>>) -> Option<&'r mut Arc<Mutex<T>>>>
pub fn identity_arc_mutex() -> Self
Source§impl<R, V, G, S> KpType<R, V, G, S>
impl<R, V, G, S> KpType<R, V, G, S>
pub fn new(get: G, set: S) -> Self
pub fn get<'a>(&self, r: &'a R) -> Option<&'a V>
pub fn get_mut<'a>(&self, r: &'a mut R) -> Option<&'a mut V>
pub fn then<SubValue, G2, S2>(
self,
next: KpType<V, SubValue, G2, S2>,
) -> KpType<R, SubValue, impl for<'r> Fn(&'r R) -> Option<&'r SubValue>, impl for<'r> Fn(&'r mut R) -> Option<&'r mut SubValue>>where
G2: for<'r> Fn(&'r V) -> Option<&'r SubValue>,
S2: for<'r> Fn(&'r mut V) -> Option<&'r mut SubValue>,
V: 'static,
Source§impl<R> KpType<R, R, for<'r> fn(&'r R) -> Option<&'r R>, for<'r> fn(&'r mut R) -> Option<&'r mut R>>
impl<R> KpType<R, R, for<'r> fn(&'r R) -> Option<&'r R>, for<'r> fn(&'r mut R) -> Option<&'r mut R>>
Trait Implementations§
Auto Trait Implementations§
impl<R, V, G, S> Freeze for KpType<R, V, G, S>
impl<R, V, G, S> RefUnwindSafe for KpType<R, V, G, S>
impl<R, V, G, S> Send for KpType<R, V, G, S>
impl<R, V, G, S> Sync for KpType<R, V, G, S>
impl<R, V, G, S> Unpin for KpType<R, V, G, S>
impl<R, V, G, S> UnsafeUnpin for KpType<R, V, G, S>where
G: UnsafeUnpin,
S: UnsafeUnpin,
impl<R, V, G, S> UnwindSafe for KpType<R, V, G, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more