Struct Context

Source
pub struct Context<'a, H> {
    pub tensors: &'a mut HashMap<TensorId, TensorIr>,
    pub handles: &'a mut HandleContainer<H>,
    pub scalars: &'a mut HashMap<ScalarId, ScalarValue>,
}
Expand description

The context contains the relative graph tensor mapping so that a relative tensor id can be mapped to an existing tensor that can be fetched and updated with the handle container.

It also contains all scalar values, which can change even for the same graph. They are sorted in the order in which they appear in the graph.

Fields§

§tensors: &'a mut HashMap<TensorId, TensorIr>

The tensor mapping where local tensor id points to the updated tensor representation.

§handles: &'a mut HandleContainer<H>

Handle container to retrieve tensors based on their representation.

§scalars: &'a mut HashMap<ScalarId, ScalarValue>

Scalars found in the graph in the order they appeared.

Implementations§

Source§

impl<'a, H> Context<'a, H>

Source

pub fn new( tensors: &'a mut HashMap<TensorId, TensorIr>, handles: &'a mut HandleContainer<H>, scalars: &'a mut HashMap<ScalarId, ScalarValue>, ) -> Self

Constructs a new Context.

Source§

impl<H: Clone> Context<'_, H>

Source

pub fn fork(&self) -> ContextOwned<H>

Fork the context into an owned context.

Auto Trait Implementations§

§

impl<'a, H> Freeze for Context<'a, H>

§

impl<'a, H> RefUnwindSafe for Context<'a, H>
where H: RefUnwindSafe,

§

impl<'a, H> Send for Context<'a, H>
where H: Send,

§

impl<'a, H> Sync for Context<'a, H>
where H: Sync,

§

impl<'a, H> Unpin for Context<'a, H>

§

impl<'a, H> !UnwindSafe for Context<'a, H>

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<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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V