BindRef

Struct BindRef 

Source
pub struct BindRef<Target> { /* private fields */ }
Expand description

A BindRef references another binding without needing to know precisely what kind of binding it is. It is read-only, so mostly useful for passing a binding around, particularly for computed bindings. Create one with BindRef::from(binding).

Cloning a BindRef will create another reference to the same binding.

Implementations§

Source§

impl<TValue> BindRef<TValue>

Source

pub fn new<Binding>(binding: &Binding) -> BindRef<TValue>
where Binding: 'static + Clone + Bound<Value = TValue>,

Creates a new BindRef from a reference to an existing binding

Source

pub fn from_arc<Binding>(binding_ref: Arc<Binding>) -> BindRef<TValue>
where Binding: 'static + Bound<Value = TValue>,

Creates a new BindRef from an existing binding

Trait Implementations§

Source§

impl<TValue> Bound for BindRef<TValue>

Source§

type Value = TValue

Source§

fn get(&self) -> Self::Value

Retrieves the value stored by this binding
Source§

fn watch(&self, what: Arc<dyn Notifiable>) -> Arc<dyn Watcher<Self::Value>>

Creates a watcher: this provides a way to retrieve the value stored in this binding, and will call the notification function if the value has changed since it was last read. Read more
Source§

impl<Value> Changeable for BindRef<Value>

Source§

fn when_changed(&self, what: Arc<dyn Notifiable>) -> Box<dyn Releasable>

Supplies a function to be notified when this item is changed Read more
Source§

impl<Value> Clone for BindRef<Value>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a, Value> From<&'a BindRef<Value>> for BindRef<Value>

Source§

fn from(val: &'a BindRef<Value>) -> Self

Converts to this type from the input type.
Source§

impl<'a, Value: 'static + Clone + PartialEq + Send> From<&'a Binding<Value>> for BindRef<Value>

Source§

fn from(val: &'a Binding<Value>) -> Self

Converts to this type from the input type.
Source§

impl<'a, Value: 'static + Clone + PartialEq + Send, TFn> From<&'a ComputedBinding<Value, TFn>> for BindRef<Value>
where TFn: 'static + Send + Sync + Fn() -> Value,

Source§

fn from(val: &'a ComputedBinding<Value, TFn>) -> Self

Converts to this type from the input type.
Source§

impl<'a, Value: 'static + Clone + PartialEq + Send + Into<Binding<Value>>> From<&'a Value> for BindRef<Value>

Source§

fn from(val: &'a Value) -> BindRef<Value>

Converts to this type from the input type.
Source§

impl<Value: 'static + Clone + Send + PartialEq> From<Binding<Value>> for BindRef<Value>

Source§

fn from(val: Binding<Value>) -> Self

Converts to this type from the input type.
Source§

impl<Value: 'static + Clone + PartialEq + Send, TFn> From<ComputedBinding<Value, TFn>> for BindRef<Value>
where TFn: 'static + Send + Sync + Fn() -> Value,

Source§

fn from(val: ComputedBinding<Value, TFn>) -> Self

Converts to this type from the input type.
Source§

impl<Value: 'static + Clone + Send + PartialEq> From<StreamBinding<Value>> for BindRef<Value>

Available on crate feature stream only.
Source§

fn from(val: StreamBinding<Value>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<Target> Freeze for BindRef<Target>

§

impl<Target> !RefUnwindSafe for BindRef<Target>

§

impl<Target> Send for BindRef<Target>

§

impl<Target> Sync for BindRef<Target>

§

impl<Target> Unpin for BindRef<Target>

§

impl<Target> !UnwindSafe for BindRef<Target>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<TBinding> BoundValueComputeExt for TBinding
where TBinding: 'static + Clone + Bound,

Source§

fn compute<TResultValue, TComputeFn>( &self, map_fn: TComputeFn, ) -> BindRef<TResultValue>
where TResultValue: 'static + Clone + Send, TComputeFn: 'static + Send + Sync + Fn(&TBinding) -> TResultValue,

Transforms the value of this binding using a compute function Read more
Source§

impl<TBinding> BoundValueMapExt for TBinding
where TBinding: 'static + Clone + Bound,

Source§

type Value = <TBinding as Bound>::Value

Source§

fn map_binding<TMapValue, TMapFn>( &self, map_fn: TMapFn, ) -> MapBinding<TBinding, TMapValue, TMapFn>
where TMapValue: 'static + Clone + Send, TMapFn: 'static + Send + Sync + Fn(<TBinding as BoundValueMapExt>::Value) -> TMapValue,

Transforms the value of this binding using a mapping function Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.