pub struct RawLib<S: Schema + ?Sized> {
pub scir: Library<S>,
pub conv: ScirLibConversion,
}Expand description
An SCIR library with associated conversion metadata.
Fields§
§scir: Library<S>The SCIR library.
conv: ScirLibConversionAssociated conversion metadata.
Can be used to retrieve SCIR objects from their corresponding Substrate IDs.
Implementations§
Source§impl<S: Schema> RawLib<S>
impl<S: Schema> RawLib<S>
Sourcepub fn convert_node_path(&self, path: &NodePath) -> Option<ConvertedNodePath>
pub fn convert_node_path(&self, path: &NodePath) -> Option<ConvertedNodePath>
Converts a Substrate NodePath to a SCIR scir::SliceOnePath.
Sourcepub fn convert_node(&self, node: &Node) -> Option<ConvertedNodePath>
pub fn convert_node(&self, node: &Node) -> Option<ConvertedNodePath>
Convert a node in the top cell to a SCIR node path.
Sourcepub fn convert_instance_path(&self, path: &InstancePath) -> Option<InstancePath>
pub fn convert_instance_path(&self, path: &InstancePath) -> Option<InstancePath>
Converts a Substrate InstancePath to a SCIR scir::InstancePath.
Sourcepub fn convert_terminal_path(
&self,
path: &TerminalPath,
) -> Option<Vec<ConvertedNodePath>>
pub fn convert_terminal_path( &self, path: &TerminalPath, ) -> Option<Vec<ConvertedNodePath>>
Converts a Substrate TerminalPath to a list of ConvertedNodePaths
associated with the terminal at that path.
Returns None if the path is invalid. Only flattened instances will
return more than one ConvertedNodePath.
Trait Implementations§
Auto Trait Implementations§
impl<S> Freeze for RawLib<S>where
S: ?Sized,
impl<S> RefUnwindSafe for RawLib<S>
impl<S> Send for RawLib<S>where
S: ?Sized,
impl<S> Sync for RawLib<S>where
S: ?Sized,
impl<S> Unpin for RawLib<S>
impl<S> UnwindSafe for RawLib<S>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request