Struct substrate::layout::element::RawInstance
source · pub struct RawInstance { /* private fields */ }
Expand description
A raw layout instance.
Consists of a pointer to an underlying cell and its instantiated transformation.
Implementations§
source§impl RawInstance
impl RawInstance
sourcepub fn new(cell: impl Into<Arc<RawCell>>, trans: Transformation) -> Self
pub fn new(cell: impl Into<Arc<RawCell>>, trans: Transformation) -> Self
Create a new raw instance of the given cell.
sourcepub fn cell(&self) -> Transformed<RawCell>
pub fn cell(&self) -> Transformed<RawCell>
Returns a reference to the child cell.
The returned object provides coordinates in the parent cell’s coordinate system.
If you want coordinates in the child cell’s coordinate system,
consider using RawInstance::raw_cell
instead.
sourcepub fn raw_cell(&self) -> &RawCell
pub fn raw_cell(&self) -> &RawCell
Returns a raw reference to the child cell.
The returned cell does not store any information related
to this instance’s transformation.
Consider using RawInstance::cell
instead.
Trait Implementations§
source§impl Bbox for RawInstance
impl Bbox for RawInstance
source§impl Clone for RawInstance
impl Clone for RawInstance
source§fn clone(&self) -> RawInstance
fn clone(&self) -> RawInstance
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RawInstance
impl Debug for RawInstance
source§impl Default for RawInstance
impl Default for RawInstance
source§fn default() -> RawInstance
fn default() -> RawInstance
Returns the “default value” for a type. Read more
source§impl<PDK: Pdk> Draw<PDK> for RawInstance
impl<PDK: Pdk> Draw<PDK> for RawInstance
source§impl<'a> From<&'a RawInstance> for ElementRef<'a>
impl<'a> From<&'a RawInstance> for ElementRef<'a>
source§fn from(value: &'a RawInstance) -> Self
fn from(value: &'a RawInstance) -> Self
Converts to this type from the input type.
source§impl From<RawInstance> for Element
impl From<RawInstance> for Element
source§fn from(value: RawInstance) -> Self
fn from(value: RawInstance) -> Self
Converts to this type from the input type.
source§impl HasTransformedView for RawInstance
impl HasTransformedView for RawInstance
§type TransformedView = RawInstance
type TransformedView = RawInstance
An object storing a transformed view of
Self
.source§fn transformed_view(&self, trans: Transformation) -> Self::TransformedView
fn transformed_view(&self, trans: Transformation) -> Self::TransformedView
Produces a transformed view of
self
.source§impl LayerBbox for RawInstance
impl LayerBbox for RawInstance
source§impl PartialEq for RawInstance
impl PartialEq for RawInstance
source§fn eq(&self, other: &RawInstance) -> bool
fn eq(&self, other: &RawInstance) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TransformMut for RawInstance
impl TransformMut for RawInstance
source§fn transform_mut(&mut self, trans: Transformation)
fn transform_mut(&mut self, trans: Transformation)
Applies matrix-vector
Transformation
trans
.source§impl TranslateMut for RawInstance
impl TranslateMut for RawInstance
source§fn translate_mut(&mut self, p: Point)
fn translate_mut(&mut self, p: Point)
Translates the shape by a
Point
through mutation.source§impl<T: ExportsLayoutData> TryFrom<Instance<T>> for RawInstance
impl<T: ExportsLayoutData> TryFrom<Instance<T>> for RawInstance
impl StructuralPartialEq for RawInstance
Auto Trait Implementations§
impl RefUnwindSafe for RawInstance
impl Send for RawInstance
impl Sync for RawInstance
impl Unpin for RawInstance
impl UnwindSafe for RawInstance
Blanket Implementations§
source§impl<T> AlignBbox for Twhere
T: AlignBboxMut,
impl<T> AlignBbox for Twhere
T: AlignBboxMut,
source§impl<T> AlignBboxMut for Twhere
T: AlignRectMut + Bbox,
impl<T> AlignBboxMut for Twhere
T: AlignRectMut + Bbox,
source§impl<T> AlignRect for Twhere
T: AlignRectMut,
impl<T> AlignRect for Twhere
T: AlignRectMut,
source§impl<T> AlignRectMut for Twhere
T: Translate,
impl<T> AlignRectMut for Twhere
T: Translate,
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, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Flipped<T>) -> U
fn from_layout_type(other: &Flipped<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &InOut<T>) -> U
fn from_layout_type(other: &InOut<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Input<T>) -> U
fn from_layout_type(other: &Input<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Output<T>) -> U
fn from_layout_type(other: &Output<T>) -> U
Creates this layout type from another layout type.
§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>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<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>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<PDK, T> DrawBoxed<PDK> for T
impl<PDK, T> DrawBoxed<PDK> for T
source§fn draw_boxed(self: Box<T>, recv: &mut DrawReceiver<PDK>) -> Result<(), Error>
fn draw_boxed(self: Box<T>, recv: &mut DrawReceiver<PDK>) -> Result<(), Error>
Draws
self
inside recv
.§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