pub struct GraphMatter { /* private fields */ }Expand description
SRD-84 shape 1 — grammar-safe graph matter: a bundle of
statements the polydat kernel compiler turns into a kernel. Built
programmatically (typed externs + ExprStub bindings), never from a
source string. Feeds PolydatMatter / BodyFragment::Statements.
Implementations§
Source§impl GraphMatter
impl GraphMatter
Sourcepub fn extern_wire<T: Wire>(&mut self, name: impl Into<String>) -> &mut Self
pub fn extern_wire<T: Wire>(&mut self, name: impl Into<String>) -> &mut Self
Declare a typed extern wire (a runtime input the kernel reads),
constructed from the Wire type — not string-parsed. The
Rust generic is the polydat port type.
Sourcepub fn extern_wire_typed(
&mut self,
name: impl Into<String>,
port: PortType,
) -> &mut Self
pub fn extern_wire_typed( &mut self, name: impl Into<String>, port: PortType, ) -> &mut Self
Self::extern_wire with the port type as a runtime value, for
callers whose type comes from inspection (e.g. a parent scope’s
SharedCellEntry
port_type) rather than a compile-time generic. The type must be
faithful: an extern that names an in-scope shared cell attaches to
it at subscope build, and the cell’s own port type is the contract.
Sourcepub fn into_statements(self) -> Vec<Statement>
pub fn into_statements(self) -> Vec<Statement>
The statements, for PolydatMatter::builder().statements(...) or
a BodyFragment::Statements.
Trait Implementations§
Source§impl Default for GraphMatter
impl Default for GraphMatter
Source§fn default() -> GraphMatter
fn default() -> GraphMatter
Auto Trait Implementations§
impl Freeze for GraphMatter
impl RefUnwindSafe for GraphMatter
impl Send for GraphMatter
impl Sync for GraphMatter
impl Unpin for GraphMatter
impl UnsafeUnpin for GraphMatter
impl UnwindSafe for GraphMatter
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> 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