pub struct Instance<T: ExportsLayoutData> { /* private fields */ }
Expand description
A generic layout instance.
Stores a pointer to its underlying cell and its instantiated transformation.
Implementations§
source§impl<T: ExportsLayoutData> Instance<T>
impl<T: ExportsLayoutData> Instance<T>
sourcepub fn try_cell(&self) -> Result<Transformed<Cell<T>>>
pub fn try_cell(&self) -> Result<Transformed<Cell<T>>>
Tries to access a transformed view of the underlying Cell
, blocking on generation.
Blocks until cell generation completes.
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 Instance::try_raw_cell
instead.
Returns an error if one was thrown during generation.
sourcepub fn cell(&self) -> Transformed<Cell<T>>
pub fn cell(&self) -> Transformed<Cell<T>>
Returns a transformed view of the underlying Cell
.
Blocks until cell generation completes.
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 Instance::raw_cell
instead.
§Panics
Panics if an error was thrown during generation.
sourcepub fn try_raw_cell(&self) -> Result<&Cell<T>>
pub fn try_raw_cell(&self) -> Result<&Cell<T>>
Tries to access a transformed view of the underlying Cell
, blocking on generation.
Blocks until cell generation completes.
The returned cell does not store any information related
to this instance’s transformation.
Consider using Instance::try_cell
instead.
Returns an error if one was thrown during generation.
sourcepub fn raw_cell(&self) -> &Cell<T>
pub fn raw_cell(&self) -> &Cell<T>
Returns a transformed view of the underlying Cell
.
Blocks until cell generation completes.
The returned cell does not store any information related
to this instance’s transformation.
Consider using Instance::cell
instead.
§Panics
Panics if an error was thrown during generation.
sourcepub fn try_data(&self) -> Result<Transformed<T::LayoutData>>
pub fn try_data(&self) -> Result<Transformed<T::LayoutData>>
Tries to access extra data created by the cell’s schematic generator.
Blocks until cell generation completes.
Returns an error if one was thrown during generation.
sourcepub fn data(&self) -> Transformed<T::LayoutData>
pub fn data(&self) -> Transformed<T::LayoutData>
Tries to access extra data created by the cell’s schematic generator.
Blocks until cell generation completes.
§Panics
Panics if an error was thrown during generation.
sourcepub fn try_io(&self) -> Result<Transformed<<T::Io as HardwareType>::Bundle>>
pub fn try_io(&self) -> Result<Transformed<<T::Io as HardwareType>::Bundle>>
Returns a transformed view of the underlying Cell
’s IO.
Blocks until cell generation completes.
Returns an error if one was thrown during generation.
sourcepub fn io(&self) -> Transformed<<T::Io as HardwareType>::Bundle>
pub fn io(&self) -> Transformed<<T::Io as HardwareType>::Bundle>
sourcepub fn transformation(&self) -> &Transformation
pub fn transformation(&self) -> &Transformation
The transformation of this instance.
Trait Implementations§
source§impl<T: ExportsLayoutData> Bbox for Instance<T>
impl<T: ExportsLayoutData> Bbox for Instance<T>
source§impl<T: ExportsLayoutData> Clone for Instance<T>
impl<T: ExportsLayoutData> Clone for Instance<T>
source§impl<T: ExportsLayoutData> HasTransformedView for Instance<T>
impl<T: ExportsLayoutData> HasTransformedView for Instance<T>
§type TransformedView = Instance<T>
type TransformedView = Instance<T>
Self
.source§fn transformed_view(&self, trans: Transformation) -> Self::TransformedView
fn transformed_view(&self, trans: Transformation) -> Self::TransformedView
self
.source§impl<T: ExportsLayoutData> LayerBbox for Instance<T>
impl<T: ExportsLayoutData> LayerBbox for Instance<T>
source§impl<T: ExportsLayoutData> TransformMut for Instance<T>
impl<T: ExportsLayoutData> TransformMut for Instance<T>
source§fn transform_mut(&mut self, trans: Transformation)
fn transform_mut(&mut self, trans: Transformation)
Transformation
trans
.source§impl<T: ExportsLayoutData> TranslateMut for Instance<T>
impl<T: ExportsLayoutData> TranslateMut for Instance<T>
source§fn translate_mut(&mut self, p: Point)
fn translate_mut(&mut self, p: Point)
Point
through mutation.Auto Trait Implementations§
impl<T> !RefUnwindSafe for Instance<T>
impl<T> Send for Instance<T>
impl<T> Sync for Instance<T>
impl<T> Unpin for Instance<T>
impl<T> !UnwindSafe for Instance<T>
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
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
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
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
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
§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>
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>
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)
&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)
&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>
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>
T
in a tonic::Request