pub struct TwoTerminalIoKind{
pub p: <InOut<Signal> as HasBundleKind>::BundleKind,
pub n: <InOut<Signal> as HasBundleKind>::BundleKind,
}
Expand description
The interface for 2-terminal blocks.
Fields§
§p: <InOut<Signal> as HasBundleKind>::BundleKind
The positive terminal.
n: <InOut<Signal> as HasBundleKind>::BundleKind
The negative terminal.
Trait Implementations§
Source§impl Clone for TwoTerminalIoKind
impl Clone for TwoTerminalIoKind
Source§impl Debug for TwoTerminalIoKind
impl Debug for TwoTerminalIoKind
Source§impl FlatLen for TwoTerminalIoKind
impl FlatLen for TwoTerminalIoKind
Source§impl HasBundleKind for TwoTerminalIoKind
impl HasBundleKind for TwoTerminalIoKind
Source§type BundleKind = TwoTerminalIoKind
type BundleKind = TwoTerminalIoKind
The Rust type of the
BundleKind
associated with this bundle.Source§fn kind(&self) -> <Self as HasBundleKind>::BundleKind
fn kind(&self) -> <Self as HasBundleKind>::BundleKind
Returns the
BundleKind
of this bundle.Source§impl HasNameTree for TwoTerminalIoKind
impl HasNameTree for TwoTerminalIoKind
Source§impl HasNodeBundle for TwoTerminalIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
impl HasNodeBundle for TwoTerminalIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
Source§type NodeBundle = TwoTerminalIoView<NodeBundle>
type NodeBundle = TwoTerminalIoView<NodeBundle>
The associated node bundle.
Source§impl HasTerminalBundle for TwoTerminalIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
impl HasTerminalBundle for TwoTerminalIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
Source§type TerminalBundle = TwoTerminalIoView<TerminalBundle>
type TerminalBundle = TwoTerminalIoView<TerminalBundle>
The associated terminal bundle.
Source§impl PartialEq for TwoTerminalIoKind
impl PartialEq for TwoTerminalIoKind
Source§impl SchematicBundleKind for TwoTerminalIoKind
impl SchematicBundleKind for TwoTerminalIoKind
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<TwoTerminalIoKind, SubstrateS> for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: Unflatten<<InOut<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
impl<SubstrateV, SubstrateS> Unflatten<TwoTerminalIoKind, SubstrateS> for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: Unflatten<<InOut<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
Source§fn unflatten<SubstrateI>(
__substrate_data: &TwoTerminalIoKind,
__substrate_source: &mut SubstrateI,
) -> Option<Self>where
SubstrateI: Iterator<Item = SubstrateS>,
fn unflatten<SubstrateI>(
__substrate_data: &TwoTerminalIoKind,
__substrate_source: &mut SubstrateI,
) -> Option<Self>where
SubstrateI: Iterator<Item = SubstrateS>,
Unflatten a structure from an iterator. Read more
impl Eq for TwoTerminalIoKind
Auto Trait Implementations§
impl Freeze for TwoTerminalIoKind
impl RefUnwindSafe for TwoTerminalIoKind
impl Send for TwoTerminalIoKind
impl Sync for TwoTerminalIoKind
impl Unpin for TwoTerminalIoKind
impl UnwindSafe for TwoTerminalIoKind
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,
Source§impl<T> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
impl<T> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
Source§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.
Source§fn view_terminals_as(terminals: &TerminalBundle<Self>) -> TerminalBundle<T>
fn view_terminals_as(terminals: &TerminalBundle<Self>) -> TerminalBundle<T>
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§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<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> 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