[][src]Struct differential_dataflow::trace::wrappers::rc::TraceBox

pub struct TraceBox<K, V, T, R, Tr> where
    T: Lattice + Ord + Clone + 'static,
    Tr: TraceReader<K, V, T, R>, 
{ pub advance_frontiers: MutableAntichain<T>, pub through_frontiers: MutableAntichain<T>, pub trace: Tr, // some fields omitted }

A wrapper around a trace which tracks the frontiers of all referees.

This is an internal type, unlikely to be useful to higher-level programs, but exposed just in case. This type is equivalent to a RefCell, in that it wraps the mutable state that multiple referrers may influence.

Fields

advance_frontiers: MutableAntichain<T>

accumulated holds on times for advancement.

through_frontiers: MutableAntichain<T>

accumulated holds on times for distinction.

trace: Tr

The wrapped trace.

Methods

impl<K, V, T, R, Tr> TraceBox<K, V, T, R, Tr> where
    T: Lattice + Ord + Clone + 'static,
    Tr: TraceReader<K, V, T, R>, 
[src]

pub fn new(trace: Tr) -> Self[src]

Moves an existing trace into a shareable trace wrapper.

The trace may already exist and have non-initial advance and distinguish frontiers. The boxing process will fish these out and make sure that they are used for the initial read capabilities.

pub fn adjust_advance_frontier(&mut self, lower: &[T], upper: &[T])[src]

Replaces elements of lower with those of upper.

pub fn adjust_through_frontier(&mut self, lower: &[T], upper: &[T])[src]

Replaces elements of lower with those of upper.

Auto Trait Implementations

impl<K, V, T, R, Tr> Send for TraceBox<K, V, T, R, Tr> where
    K: Send,
    R: Send,
    T: Send,
    Tr: Send,
    V: Send

impl<K, V, T, R, Tr> Sync for TraceBox<K, V, T, R, Tr> where
    K: Sync,
    R: Sync,
    T: Sync,
    Tr: Sync,
    V: Sync

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.