pub struct KeyPath<Root, Value, F>{ /* private fields */ }Implementations§
Source§impl<Root, Value, F> KeyPath<Root, Value, F>
impl<Root, Value, F> KeyPath<Root, Value, F>
pub fn new(getter: F) -> Self
pub fn get<'r>(&self, root: &'r Root) -> &'r Value
pub fn for_box<Target>(
self,
) -> KeyPath<Root, Target, impl for<'r> Fn(&'r Root) -> &'r Target + 'static>where
Value: Deref<Target = Target> + 'static,
F: 'static,
pub fn for_arc<Target>(
self,
) -> KeyPath<Root, Target, impl for<'r> Fn(&'r Root) -> &'r Target + 'static>where
Value: Deref<Target = Target> + 'static,
F: 'static,
pub fn for_rc<Target>(
self,
) -> KeyPath<Root, Target, impl for<'r> Fn(&'r Root) -> &'r Target + 'static>where
Value: Deref<Target = Target> + 'static,
F: 'static,
Sourcepub fn to_optional(
self,
) -> OptionalKeyPath<Root, Value, impl for<'r> Fn(&'r Root) -> Option<&'r Value> + 'static>where
F: 'static,
pub fn to_optional(
self,
) -> OptionalKeyPath<Root, Value, impl for<'r> Fn(&'r Root) -> Option<&'r Value> + 'static>where
F: 'static,
Convert a KeyPath to OptionalKeyPath for chaining This allows non-optional keypaths to be chained with then()
Sourcepub fn with_option<Callback, R>(
&self,
option: &Option<Root>,
f: Callback,
) -> Option<R>
pub fn with_option<Callback, R>( &self, option: &Option<Root>, f: Callback, ) -> Option<R>
Execute a closure with a reference to the value inside an Option
Sourcepub fn with_mutex<Callback, R>(
&self,
mutex: &Mutex<Root>,
f: Callback,
) -> Option<R>
pub fn with_mutex<Callback, R>( &self, mutex: &Mutex<Root>, f: Callback, ) -> Option<R>
Execute a closure with a reference to the value inside a Mutex
Sourcepub fn with_rwlock<Callback, R>(
&self,
rwlock: &RwLock<Root>,
f: Callback,
) -> Option<R>
pub fn with_rwlock<Callback, R>( &self, rwlock: &RwLock<Root>, f: Callback, ) -> Option<R>
Execute a closure with a reference to the value inside an RwLock
Sourcepub fn with_arc_rwlock<Callback, R>(
&self,
arc_rwlock: &Arc<RwLock<Root>>,
f: Callback,
) -> Option<R>
pub fn with_arc_rwlock<Callback, R>( &self, arc_rwlock: &Arc<RwLock<Root>>, f: Callback, ) -> Option<R>
Execute a closure with a reference to the value inside an Arc<RwLock
Source§impl<Root, Value, F> KeyPath<Root, Value, F>
impl<Root, Value, F> KeyPath<Root, Value, F>
Sourcepub fn with_arc_rwlock_direct<Callback, R>(
&self,
arc_rwlock: &Arc<RwLock<Root>>,
f: Callback,
) -> Option<R>
pub fn with_arc_rwlock_direct<Callback, R>( &self, arc_rwlock: &Arc<RwLock<Root>>, f: Callback, ) -> Option<R>
Execute a closure with a reference to the value inside an Arc<RwLock
Source§impl<Root, Value, F> KeyPath<Root, Value, F>
impl<Root, Value, F> KeyPath<Root, Value, F>
Sourcepub fn to_partial(self) -> PartialKeyPath<Root>
pub fn to_partial(self) -> PartialKeyPath<Root>
Convert to PartialKeyPath (hides Value type)
Sourcepub fn to(self) -> PartialKeyPath<Root>
pub fn to(self) -> PartialKeyPath<Root>
Alias for to_partial() - converts to PartialKeyPath
Trait Implementations§
Auto Trait Implementations§
impl<Root, Value, F> Freeze for KeyPath<Root, Value, F>where
F: Freeze,
impl<Root, Value, F> RefUnwindSafe for KeyPath<Root, Value, F>
impl<Root, Value, F> Send for KeyPath<Root, Value, F>
impl<Root, Value, F> Sync for KeyPath<Root, Value, F>
impl<Root, Value, F> Unpin for KeyPath<Root, Value, F>
impl<Root, Value, F> UnwindSafe for KeyPath<Root, Value, F>
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