pub struct NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,{
pub ports: <Array<TwoTerminalIo> as HasBundleKind>::BundleKind,
}Expand description
The interface of an Nport.
Fields§
§ports: <Array<TwoTerminalIo> as HasBundleKind>::BundleKindThe ports.
Each port contains two signals: a p terminal and an n terminal.
Trait Implementations§
Source§impl Clone for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Clone,
impl Clone for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Clone,
Source§impl Debug for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Debug,
impl Debug for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Debug,
Source§impl FlatLen for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: FlatLen,
impl FlatLen for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: FlatLen,
Source§impl HasBundleKind for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasBundleKind,
impl HasBundleKind for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasBundleKind,
Source§type BundleKind = NportIoKind
type BundleKind = NportIoKind
The Rust type of the [
BundleKind] associated with this bundle.Source§impl HasDefaultLayoutBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasDefaultLayoutBundle,
impl HasDefaultLayoutBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasDefaultLayoutBundle,
type Bundle<__substrate_L: Schema> = NportIoView<PortGeometryBundle<__substrate_L>>
Source§impl HasNameTree for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasBundleKind,
impl HasNameTree for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasBundleKind,
Source§impl HasNodeBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasNodeBundle,
impl HasNodeBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasNodeBundle,
Source§type NodeBundle = NportIoView<NodeBundle>
type NodeBundle = NportIoView<NodeBundle>
The associated node bundle.
Source§impl HasTerminalBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasTerminalBundle,
impl HasTerminalBundle for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: HasTerminalBundle,
Source§type TerminalBundle = NportIoView<TerminalBundle>
type TerminalBundle = NportIoView<TerminalBundle>
The associated terminal bundle.
Source§impl PartialEq for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Debug,
impl PartialEq for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Debug,
Source§impl SchematicBundleKind for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
impl SchematicBundleKind for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind + HasSchematicBundleKindViews,
Source§fn terminal_view(
cell: CellId,
cell_io: &NodeBundle<Self>,
instance: InstanceId,
instance_io: &NodeBundle<Self>,
) -> TerminalBundle<Self>
fn terminal_view( cell: CellId, cell_io: &NodeBundle<Self>, instance: InstanceId, instance_io: &NodeBundle<Self>, ) -> TerminalBundle<Self>
Creates a terminal view of the object given a parent node, the cell IO, and the instance IO.
Source§impl<SubstrateV, SubstrateS> Unflatten<NportIoKind, SubstrateS> for NportIoView<SubstrateV>where
Array<TwoTerminalIo>: HasView<SubstrateV> + HasBundleKind,
<Array<TwoTerminalIo> as HasView<SubstrateV>>::View: Unflatten<<Array<TwoTerminalIo> as HasBundleKind>::BundleKind, SubstrateS>,
impl<SubstrateV, SubstrateS> Unflatten<NportIoKind, SubstrateS> for NportIoView<SubstrateV>where
Array<TwoTerminalIo>: HasView<SubstrateV> + HasBundleKind,
<Array<TwoTerminalIo> as HasView<SubstrateV>>::View: Unflatten<<Array<TwoTerminalIo> as HasBundleKind>::BundleKind, SubstrateS>,
Source§fn unflatten<SubstrateI>(
__substrate_data: &NportIoKind,
__substrate_source: &mut SubstrateI,
) -> Option<Self>where
SubstrateI: Iterator<Item = SubstrateS>,
fn unflatten<SubstrateI>(
__substrate_data: &NportIoKind,
__substrate_source: &mut SubstrateI,
) -> Option<Self>where
SubstrateI: Iterator<Item = SubstrateS>,
Unflatten a structure from an iterator. Read more
impl Eq for NportIoKindwhere
Array<TwoTerminalIo>: HasBundleKind,
<Array<TwoTerminalIo> as HasBundleKind>::BundleKind: Eq,
Auto Trait Implementations§
impl Freeze for NportIoKind
impl RefUnwindSafe for NportIoKind
impl Send for NportIoKind
impl Sync for NportIoKind
impl Unpin for NportIoKind
impl UnwindSafe for NportIoKind
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> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
impl<T> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
§fn view_nodes_as(
nodes: &<<T as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle,
) -> <<Array<Signal> as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle
fn view_nodes_as( nodes: &<<T as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle, ) -> <<Array<Signal> as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle
Views a node bundle as a node bundle of a different kind.
§fn view_terminals_as(
terminals: &<Self::BundleKind as HasTerminalBundle>::TerminalBundle,
) -> <<T as HasBundleKind>::BundleKind as HasTerminalBundle>::TerminalBundle
fn view_terminals_as( terminals: &<Self::BundleKind as HasTerminalBundle>::TerminalBundle, ) -> <<T as HasBundleKind>::BundleKind as HasTerminalBundle>::TerminalBundle
Views a terminal bundle as a terminal bundle of a different kind.
§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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> 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>
Converts
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>
Converts
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].