pub struct LiveInterval {
pub buf: BufferId,
pub def_pos: Option<usize>,
pub last_use_pos: Option<usize>,
pub size_bytes: usize,
pub external: bool,
}Expand description
The live interval of a buffer in topological-order position space.
The buffer is “live” from the step it is first written (def_pos) to the
step at which it is last read (last_use_pos), inclusive.
Fields§
§buf: BufferIdBuffer this interval belongs to.
def_pos: Option<usize>Topological position at which the buffer is first defined (written).
None means the buffer is an external input (alive from the start).
last_use_pos: Option<usize>Topological position at which the buffer is last used (read).
None means the buffer is never read (write-only / dead code).
size_bytes: usizeBuffer size in bytes (copied from BufferDescriptor).
external: boolWhether this buffer is externally managed.
Implementations§
Source§impl LiveInterval
impl LiveInterval
Trait Implementations§
Source§impl Clone for LiveInterval
impl Clone for LiveInterval
Source§fn clone(&self) -> LiveInterval
fn clone(&self) -> LiveInterval
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LiveInterval
impl Debug for LiveInterval
impl Eq for LiveInterval
Source§impl PartialEq for LiveInterval
impl PartialEq for LiveInterval
impl StructuralPartialEq for LiveInterval
Auto Trait Implementations§
impl Freeze for LiveInterval
impl RefUnwindSafe for LiveInterval
impl Send for LiveInterval
impl Sync for LiveInterval
impl Unpin for LiveInterval
impl UnsafeUnpin for LiveInterval
impl UnwindSafe for LiveInterval
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