pub enum KP<Root> {
KeyPath(PartialKeyPath<Root>),
OptionalKeyPath(PartialOptionalKeyPath<Root>),
WritableKeyPath(PartialWritableKeyPath<Root>),
WritableOptionalKeyPath(PartialWritableOptionalKeyPath<Root>),
}Expand description
Enum for basic keypath types (KeyPath, OptionalKeyPath, WritableKeyPath, WritableOptionalKeyPath).
Provides syntactic sugar for functions accepting any basic keypath type.
§Example
ⓘ
fn process_keypath<Root>(kp: KP<Root>) {
match kp {
KP::KeyPath(k) => { /* handle KeyPath */ },
KP::OptionalKeyPath(k) => { /* handle OptionalKeyPath */ },
KP::WritableKeyPath(k) => { /* handle WritableKeyPath */ },
KP::WritableOptionalKeyPath(k) => { /* handle WritableOptionalKeyPath */ },
}
}Variants§
KeyPath(PartialKeyPath<Root>)
A readable keypath that always succeeds.
OptionalKeyPath(PartialOptionalKeyPath<Root>)
A readable keypath that may return None.
WritableKeyPath(PartialWritableKeyPath<Root>)
A writable keypath that always succeeds.
WritableOptionalKeyPath(PartialWritableOptionalKeyPath<Root>)
A writable keypath that may return None.
Implementations§
Source§impl<Root> KP<Root>
impl<Root> KP<Root>
Sourcepub fn from_keypath<Value, F>(kp: RustKeyPath<Root, Value, F>) -> Self
pub fn from_keypath<Value, F>(kp: RustKeyPath<Root, Value, F>) -> Self
Convert from a concrete rust_keypaths::KeyPath.
Sourcepub fn from_optional_keypath<Value, F>(
kp: RustOptionalKeyPath<Root, Value, F>,
) -> Self
pub fn from_optional_keypath<Value, F>( kp: RustOptionalKeyPath<Root, Value, F>, ) -> Self
Convert from a concrete rust_keypaths::OptionalKeyPath.
Sourcepub fn from_writable_keypath<Value, F>(
kp: RustWritableKeyPath<Root, Value, F>,
) -> Self
pub fn from_writable_keypath<Value, F>( kp: RustWritableKeyPath<Root, Value, F>, ) -> Self
Convert from a concrete rust_keypaths::WritableKeyPath.
Sourcepub fn from_writable_optional_keypath<Value, F>(
kp: RustWritableOptionalKeyPath<Root, Value, F>,
) -> Selfwhere
F: for<'r> Fn(&'r mut Root) -> Option<&'r mut Value> + 'static,
Root: 'static,
Value: Any + 'static,
pub fn from_writable_optional_keypath<Value, F>(
kp: RustWritableOptionalKeyPath<Root, Value, F>,
) -> Selfwhere
F: for<'r> Fn(&'r mut Root) -> Option<&'r mut Value> + 'static,
Root: 'static,
Value: Any + 'static,
Convert from a concrete rust_keypaths::WritableOptionalKeyPath.
Trait Implementations§
Source§impl<Root, Value, F> From<KeyPath<Root, Value, F>> for KP<Root>
impl<Root, Value, F> From<KeyPath<Root, Value, F>> for KP<Root>
Source§fn from(kp: RustKeyPath<Root, Value, F>) -> Self
fn from(kp: RustKeyPath<Root, Value, F>) -> Self
Converts to this type from the input type.
Source§impl<Root, Value, F> From<OptionalKeyPath<Root, Value, F>> for KP<Root>
impl<Root, Value, F> From<OptionalKeyPath<Root, Value, F>> for KP<Root>
Source§fn from(kp: RustOptionalKeyPath<Root, Value, F>) -> Self
fn from(kp: RustOptionalKeyPath<Root, Value, F>) -> Self
Converts to this type from the input type.
Source§impl<Root, Value, F> From<WritableKeyPath<Root, Value, F>> for KP<Root>
impl<Root, Value, F> From<WritableKeyPath<Root, Value, F>> for KP<Root>
Source§fn from(kp: RustWritableKeyPath<Root, Value, F>) -> Self
fn from(kp: RustWritableKeyPath<Root, Value, F>) -> Self
Converts to this type from the input type.
Source§impl<Root, Value, F> From<WritableOptionalKeyPath<Root, Value, F>> for KP<Root>where
F: for<'r> Fn(&'r mut Root) -> Option<&'r mut Value> + 'static,
Root: 'static,
Value: Any + 'static,
impl<Root, Value, F> From<WritableOptionalKeyPath<Root, Value, F>> for KP<Root>where
F: for<'r> Fn(&'r mut Root) -> Option<&'r mut Value> + 'static,
Root: 'static,
Value: Any + 'static,
Source§fn from(kp: RustWritableOptionalKeyPath<Root, Value, F>) -> Self
fn from(kp: RustWritableOptionalKeyPath<Root, Value, F>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<Root> Freeze for KP<Root>
impl<Root> !RefUnwindSafe for KP<Root>
impl<Root> !Send for KP<Root>
impl<Root> !Sync for KP<Root>
impl<Root> Unpin for KP<Root>where
Root: Unpin,
impl<Root> !UnwindSafe for KP<Root>
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