pub enum PartialKeyPath<Root> {
Readable(Rc<dyn for<'a> Fn(&'a Root) -> &'a dyn Any>),
ReadableEnum {
extract: Rc<dyn for<'a> Fn(&'a Root) -> Option<&'a dyn Any>>,
embed: Rc<dyn Fn(Box<dyn Any>) -> Root>,
},
FailableReadable(Rc<dyn for<'a> Fn(&'a Root) -> Option<&'a dyn Any>>),
Writable(Rc<dyn for<'a> Fn(&'a mut Root) -> &'a mut dyn Any>),
FailableWritable(Rc<dyn for<'a> Fn(&'a mut Root) -> Option<&'a mut dyn Any>>),
WritableEnum {
extract: Rc<dyn for<'a> Fn(&'a Root) -> Option<&'a dyn Any>>,
extract_mut: Rc<dyn for<'a> Fn(&'a mut Root) -> Option<&'a mut dyn Any>>,
embed: Rc<dyn Fn(Box<dyn Any>) -> Root>,
},
ReferenceWritable(Rc<dyn for<'a> Fn(&'a mut Root) -> &'a mut dyn Any>),
Owned(Rc<dyn Fn(Root) -> Box<dyn Any>>),
FailableOwned(Rc<dyn Fn(Root) -> Option<Box<dyn Any>>>),
FailableCombined {
readable: Rc<dyn for<'a> Fn(&'a Root) -> Option<&'a dyn Any>>,
writable: Rc<dyn for<'a> Fn(&'a mut Root) -> Option<&'a mut dyn Any>>,
owned: Rc<dyn Fn(Root) -> Option<Box<dyn Any>>>,
},
}Expand description
PartialKeyPath
Variants§
Readable(Rc<dyn for<'a> Fn(&'a Root) -> &'a dyn Any>)
ReadableEnum
Fields
FailableReadable(Rc<dyn for<'a> Fn(&'a Root) -> Option<&'a dyn Any>>)
Writable(Rc<dyn for<'a> Fn(&'a mut Root) -> &'a mut dyn Any>)
FailableWritable(Rc<dyn for<'a> Fn(&'a mut Root) -> Option<&'a mut dyn Any>>)
WritableEnum
Fields
ReferenceWritable(Rc<dyn for<'a> Fn(&'a mut Root) -> &'a mut dyn Any>)
Owned(Rc<dyn Fn(Root) -> Box<dyn Any>>)
FailableOwned(Rc<dyn Fn(Root) -> Option<Box<dyn Any>>>)
FailableCombined
Implementations§
Source§impl<Root> PartialKeyPath<Root>
impl<Root> PartialKeyPath<Root>
Sourcepub fn get<'a>(&'a self, root: &'a Root) -> Option<&'a dyn Any>
pub fn get<'a>(&'a self, root: &'a Root) -> Option<&'a dyn Any>
Get an immutable reference if possible
Sourcepub fn get_mut<'a>(&'a self, root: &'a mut Root) -> Option<&'a mut dyn Any>
pub fn get_mut<'a>(&'a self, root: &'a mut Root) -> Option<&'a mut dyn Any>
Get a mutable reference if possible
Sourcepub fn get_owned(self, root: Root) -> Box<dyn Any>
pub fn get_owned(self, root: Root) -> Box<dyn Any>
Get an owned value (primary method for owned keypaths)
Sourcepub fn get_failable_owned(self, root: Root) -> Option<Box<dyn Any>>
pub fn get_failable_owned(self, root: Root) -> Option<Box<dyn Any>>
Get an owned value with failable access
Sourcepub fn to_any(self) -> AnyKeyPathwhere
Root: 'static,
pub fn to_any(self) -> AnyKeyPathwhere
Root: 'static,
Convert this PartialKeyPath to an AnyKeyPath (fully type-erased)
Sourcepub fn for_arc(self) -> PartialKeyPath<Arc<Root>>where
Root: 'static + Clone,
pub fn for_arc(self) -> PartialKeyPath<Arc<Root>>where
Root: 'static + Clone,
Adapt this PartialKeyPath to work with Arc
Sourcepub fn for_box(self) -> PartialKeyPath<Box<Root>>where
Root: 'static,
pub fn for_box(self) -> PartialKeyPath<Box<Root>>where
Root: 'static,
Adapt this PartialKeyPath to work with Box
Sourcepub fn for_rc(self) -> PartialKeyPath<Rc<Root>>where
Root: 'static + Clone,
pub fn for_rc(self) -> PartialKeyPath<Rc<Root>>where
Root: 'static + Clone,
Adapt this PartialKeyPath to work with Rc
Sourcepub fn for_result<E>(self) -> PartialKeyPath<Result<Root, E>>where
Root: 'static,
pub fn for_result<E>(self) -> PartialKeyPath<Result<Root, E>>where
Root: 'static,
Adapt this PartialKeyPath to work with Result<Root, E>
Sourcepub fn for_option(self) -> PartialKeyPath<Option<Root>>where
Root: 'static,
pub fn for_option(self) -> PartialKeyPath<Option<Root>>where
Root: 'static,
Adapt this PartialKeyPath to work with Option
Sourcepub fn for_arc_rwlock(self) -> PartialKeyPath<Arc<RwLock<Root>>>where
Root: 'static + Clone,
pub fn for_arc_rwlock(self) -> PartialKeyPath<Arc<RwLock<Root>>>where
Root: 'static + Clone,
Adapt this PartialKeyPath to work with Arc<RwLock
Sourcepub fn for_arc_mutex(self) -> PartialKeyPath<Arc<Mutex<Root>>>where
Root: 'static + Clone,
pub fn for_arc_mutex(self) -> PartialKeyPath<Arc<Mutex<Root>>>where
Root: 'static + Clone,
Adapt this PartialKeyPath to work with Arc<Mutex
Trait Implementations§
Source§impl<Root: Clone> Clone for PartialKeyPath<Root>
impl<Root: Clone> Clone for PartialKeyPath<Root>
Source§fn clone(&self) -> PartialKeyPath<Root>
fn clone(&self) -> PartialKeyPath<Root>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more