Struct seitan::Property[][src]

#[must_use = "Dropping a Property unsubscribes it and all the chain until the origin sender"]
pub struct Property<'a, T: Clone + 'a> { /* fields omitted */ }

Implementations

impl<'a, T: Clone + 'a> Property<'a, T>[src]

pub fn from_parent<S: Into<StreamRc<'a, T>>>(
    parent: S,
    initial: T
) -> Property<'a, T>
[src]

pub fn new(initial: T) -> Property<'a, T>[src]

pub fn swap_parent<S: Into<StreamRc<'a, T>>>(&mut self, parent: S)[src]

pub fn from_sender_stream<S: Into<StreamRc<'a, T>>>(
    sender: SenderRc<'a, T>,
    stream: S,
    initial: T
) -> Property<'a, T>
[src]

pub fn get(&self) -> &T[src]

pub fn into_inner(self) -> Result<T, Property<'a, T>>[src]

pub fn set(&mut self, t: T)[src]

pub fn map<'b, T2: Clone, F: FnMut(T) -> T2 + 'a>(
    self,
    f: F
) -> Property<'b, T2> where
    T: 'b,
    'a: 'b, 
[src]

pub fn inspect<'b, F: Fn(&T) + 'b>(self, f: F) -> Property<'b, T> where
    T: 'b,
    'a: 'b, 
[src]

pub fn filter<'b, F: FnMut(&T) -> bool + 'b>(self, f: F) -> Property<'b, T> where
    T: 'b,
    'a: 'b, 
[src]

pub fn filter_by<'b, 'c>(self, b: Property<'b, bool>) -> Property<'c, T> where
    T: 'b,
    'a: 'b,
    'b: 'c, 
[src]

pub fn merge<'b, 'c>(self, b: Property<'b, T>) -> Property<'c, T> where
    T: 'b,
    'a: 'b,
    'b: 'c, 
[src]

pub fn merge_stream<'b, 'c, S: StreamExt<'a, T>>(self, b: S) -> Property<'c, T> where
    T: 'b,
    'a: 'b,
    'b: 'c, 
[src]

pub fn zip<T2: Clone + 'a>(
    self,
    other: Property<'a, T2>
) -> Property<'a, (T, T2)>
[src]

pub fn stream(self) -> StreamRc<'a, T>[src]

pub fn is<'b>(&self, other: &Property<'b, T>) -> bool[src]

pub fn try_iter<'b>(self) -> TryIter<'b, T>

Notable traits for TryIter<'a, T>

impl<'a, T> Iterator for TryIter<'a, T> type Item = T;
where
    'a: 'b, 
[src]

pub fn to_parameter<'b>(self) -> Parameter<'b, T> where
    'a: 'b, 
[src]

pub fn into_property_last_value(self) -> PropertyLastValue<'a, T>[src]

impl<'a> Property<'a, bool>[src]

pub fn switch<T: 'a + Clone, S: Into<Stream<'a, T>>>(
    self,
    then: S,
    else_: S
) -> Stream<'a, T>
[src]

impl<'a, T: Clone> Property<'a, Vec<T>>[src]

pub fn push(&mut self, t: T)[src]

pub fn remove(&mut self, idx: usize) -> T[src]

impl<'a, T: Clone + PartialEq + 'a> Property<'a, T>[src]

pub fn dedup<'b>(self) -> Property<'b, T> where
    'a: 'b, 
[src]

pub fn changed<'b>(self) -> Stream<'b, ()> where
    'a: 'b, 
[src]

impl<'a, T1: Clone + 'a, T2: Clone + 'a> Property<'a, (T1, T2)>[src]

pub fn unzip<'b>(self) -> (Property<'b, T1>, Property<'b, T2>) where
    'a: 'b, 
[src]

impl<'a, T1: Clone + 'a, T2: Clone + 'a, T3: Clone + 'a> Property<'a, ((T1, T2), T3)>[src]

pub fn flatten<'b>(self) -> Property<'b, (T1, T2, T3)> where
    'a: 'b, 
[src]

Trait Implementations

impl<'a, T: Add + Clone> Add<Property<'a, T>> for Property<'a, T> where
    <T as Add>::Output: Clone
[src]

type Output = Property<'a, <T as Add>::Output>

The resulting type after applying the + operator.

impl<'a, T: Add + Clone> Add<T> for Property<'a, T> where
    <T as Add>::Output: Clone
[src]

type Output = Property<'a, <T as Add>::Output>

The resulting type after applying the + operator.

impl<'a, T: Clone> AsRef<T> for Property<'a, T>[src]

impl<'a, T: BitAnd + Clone> BitAnd<Property<'a, T>> for Property<'a, T> where
    <T as BitAnd>::Output: Clone
[src]

type Output = Property<'a, <T as BitAnd>::Output>

The resulting type after applying the & operator.

impl<'a, T: BitAnd + Clone> BitAnd<T> for Property<'a, T> where
    <T as BitAnd>::Output: Clone
[src]

type Output = Property<'a, <T as BitAnd>::Output>

The resulting type after applying the & operator.

impl<'a, T: BitOr + Clone> BitOr<Property<'a, T>> for Property<'a, T> where
    <T as BitOr>::Output: Clone
[src]

type Output = Property<'a, <T as BitOr>::Output>

The resulting type after applying the | operator.

impl<'a, T: BitOr + Clone> BitOr<T> for Property<'a, T> where
    <T as BitOr>::Output: Clone
[src]

type Output = Property<'a, <T as BitOr>::Output>

The resulting type after applying the | operator.

impl<'a, T: BitXor + Clone> BitXor<Property<'a, T>> for Property<'a, T> where
    <T as BitXor>::Output: Clone
[src]

type Output = Property<'a, <T as BitXor>::Output>

The resulting type after applying the ^ operator.

impl<'a, T: BitXor + Clone> BitXor<T> for Property<'a, T> where
    <T as BitXor>::Output: Clone
[src]

type Output = Property<'a, <T as BitXor>::Output>

The resulting type after applying the ^ operator.

impl<'a, T: Clone> Borrow<T> for Property<'a, T>[src]

impl<'a, T: Clone + 'a> Clone for Property<'a, T>[src]

impl<'a, T: Clone + 'a> ConstProperty<'a, T> for Property<'a, T>[src]

impl<'a, T: 'a + Clone + Debug> Debug for Property<'a, T>[src]

impl<'a, T: Clone + Default> Default for Property<'a, T>[src]

impl<'a, 'de, T: Clone + Deserialize<'de> + 'a> Deserialize<'de> for Property<'a, T>[src]

impl<'a, T: Div + Clone> Div<Property<'a, T>> for Property<'a, T> where
    <T as Div>::Output: Clone
[src]

type Output = Property<'a, <T as Div>::Output>

The resulting type after applying the / operator.

impl<'a, T: Div + Clone> Div<T> for Property<'a, T> where
    <T as Div>::Output: Clone
[src]

type Output = Property<'a, <T as Div>::Output>

The resulting type after applying the / operator.

impl<'a, T: Clone> From<T> for Property<'a, T>[src]

impl<'a, T: Index<U> + Clone, U: Clone> Index<U> for Property<'a, T>[src]

type Output = <T as Index<U>>::Output

The returned type after indexing.

impl<'a, T: Mul + Clone> Mul<Property<'a, T>> for Property<'a, T> where
    <T as Mul>::Output: Clone
[src]

type Output = Property<'a, <T as Mul>::Output>

The resulting type after applying the * operator.

impl<'a, T: Mul + Clone> Mul<T> for Property<'a, T> where
    <T as Mul>::Output: Clone
[src]

type Output = Property<'a, <T as Mul>::Output>

The resulting type after applying the * operator.

impl<'a, T: Neg + Clone> Neg for Property<'a, T> where
    <T as Neg>::Output: Clone
[src]

type Output = Property<'a, <T as Neg>::Output>

The resulting type after applying the - operator.

impl<'a> Not for Property<'a, bool>[src]

type Output = Property<'a, bool>

The resulting type after applying the ! operator.

impl<'a, T: PartialEq + Clone> PartialEq<Property<'a, T>> for Property<'a, T>[src]

impl<'a, T: PartialEq + Clone> PartialEq<T> for Property<'a, T>[src]

impl<'a, T: Rem + Clone> Rem<Property<'a, T>> for Property<'a, T> where
    <T as Rem>::Output: Clone
[src]

type Output = Property<'a, <T as Rem>::Output>

The resulting type after applying the % operator.

impl<'a, T: Rem + Clone> Rem<T> for Property<'a, T> where
    <T as Rem>::Output: Clone
[src]

type Output = Property<'a, <T as Rem>::Output>

The resulting type after applying the % operator.

impl<'a, T: Clone + Serialize + 'a> Serialize for Property<'a, T>[src]

impl<'a, T: Shl + Clone> Shl<Property<'a, T>> for Property<'a, T> where
    <T as Shl>::Output: Clone
[src]

type Output = Property<'a, <T as Shl>::Output>

The resulting type after applying the << operator.

impl<'a, T: Shl + Clone> Shl<T> for Property<'a, T> where
    <T as Shl>::Output: Clone
[src]

type Output = Property<'a, <T as Shl>::Output>

The resulting type after applying the << operator.

impl<'a, T: Shr + Clone> Shr<Property<'a, T>> for Property<'a, T> where
    <T as Shr>::Output: Clone
[src]

type Output = Property<'a, <T as Shr>::Output>

The resulting type after applying the >> operator.

impl<'a, T: Shr + Clone> Shr<T> for Property<'a, T> where
    <T as Shr>::Output: Clone
[src]

type Output = Property<'a, <T as Shr>::Output>

The resulting type after applying the >> operator.

impl<'a, T: Sub + Clone> Sub<Property<'a, T>> for Property<'a, T> where
    <T as Sub>::Output: Clone
[src]

type Output = Property<'a, <T as Sub>::Output>

The resulting type after applying the - operator.

impl<'a, T: Sub + Clone> Sub<T> for Property<'a, T> where
    <T as Sub>::Output: Clone
[src]

type Output = Property<'a, <T as Sub>::Output>

The resulting type after applying the - operator.

impl<'a, T: Eq + Clone> Eq for Property<'a, T>[src]

Auto Trait Implementations

impl<'a, T> !RefUnwindSafe for Property<'a, T>

impl<'a, T> !Send for Property<'a, T>

impl<'a, T> !Sync for Property<'a, T>

impl<'a, T> Unpin for Property<'a, T>

impl<'a, T> !UnwindSafe for Property<'a, T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<!> for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
    T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>, 
[src]