pub struct ParentView { /* private fields */ }Expand description
Everything a builder reads of the scope it builds under: the names the parent declares, the modifier on each output, the ledger the child’s compile is charged to, and the cells in scope there — each a live handle rather than a copy.
That is the whole parent surface finalize touches. It was an
Arc<ScopeKernel<P>> first, so a caller holding a plain kernel had
to clone one into existence to ask; then an Arc<PolydatProgram>,
which a compiled kernel does not keep. It is the answers now, so a
parent of any engine can give them.
Implementations§
Source§impl ParentView
impl ParentView
Sourcepub fn of_kernel(parent: &dyn Kernel) -> Self
pub fn of_kernel(parent: &dyn Kernel) -> Self
The view a kernel of any engine presents to a subcontext built under it.
Sourcepub fn of(parent: &PolydatKernel) -> Self
pub fn of(parent: &PolydatKernel) -> Self
Self::of_kernel for the interpreter’s kernel type, which
most callers hold.
Sourcepub fn output_names(&self) -> &[String]
pub fn output_names(&self) -> &[String]
The names the parent declares as outputs.
Sourcepub fn input_names(&self) -> &[String]
pub fn input_names(&self) -> &[String]
The names the parent declares as inputs, coordinates included.
Sourcepub fn output_modifier(&self, name: &str) -> BindingModifier
pub fn output_modifier(&self, name: &str) -> BindingModifier
The modifier on a named output; NONE for a name the parent
does not declare.
Sourcepub fn ledger(&self) -> &Arc<CompileLedger> ⓘ
pub fn ledger(&self) -> &Arc<CompileLedger> ⓘ
The ledger the child’s compile is charged to: a subscope is a program of the parent’s tree.
The shared cells visible at the parent, its own and every ancestor’s that reached it.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ParentView
impl RefUnwindSafe for ParentView
impl Send for ParentView
impl Sync for ParentView
impl Unpin for ParentView
impl UnsafeUnpin for ParentView
impl UnwindSafe for ParentView
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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