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>
impl<'a, H> Context<'a, H>
Sourcepub fn new(
tensors: &'a mut HashMap<TensorId, TensorIr>,
handles: &'a mut HandleContainer<H>,
scalars: &'a mut HashMap<ScalarId, ScalarValue>,
) -> Self
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>
impl<H: Clone> Context<'_, H>
Sourcepub fn fork(&self) -> ContextOwned<H>
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> 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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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