pub struct TwoTerminalIoView<SubstrateV>{
pub p: <InOut<Signal> as HasView<SubstrateV>>::View,
pub n: <InOut<Signal> as HasView<SubstrateV>>::View,
}
Expand description
The interface for 2-terminal blocks.
Fields§
§p: <InOut<Signal> as HasView<SubstrateV>>::View
The positive terminal.
n: <InOut<Signal> as HasView<SubstrateV>>::View
The negative terminal.
Implementations§
Source§impl TwoTerminalIoView<NodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
Self: HasBundleKind<BundleKind: SchematicBundleKind<NodeBundle = Self>>,
impl TwoTerminalIoView<NodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
Self: HasBundleKind<BundleKind: SchematicBundleKind<NodeBundle = Self>>,
Sourcepub fn view_as<SubstrateT: HasBundleKind<BundleKind: SchematicBundleKind>>(
&self,
) -> NodeBundle<<SubstrateT as HasBundleKind>::BundleKind>
pub fn view_as<SubstrateT: HasBundleKind<BundleKind: SchematicBundleKind>>( &self, ) -> NodeBundle<<SubstrateT as HasBundleKind>::BundleKind>
Views this bundle as a bundle of a different kind.
Source§impl TwoTerminalIoView<TerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
Self: HasBundleKind<BundleKind: SchematicBundleKind<TerminalBundle = Self>>,
impl TwoTerminalIoView<TerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
Self: HasBundleKind<BundleKind: SchematicBundleKind<TerminalBundle = Self>>,
Sourcepub fn view_as<SubstrateT: HasBundleKind<BundleKind: SchematicBundleKind>>(
&self,
) -> TerminalBundle<<SubstrateT as HasBundleKind>::BundleKind>
pub fn view_as<SubstrateT: HasBundleKind<BundleKind: SchematicBundleKind>>( &self, ) -> TerminalBundle<<SubstrateT as HasBundleKind>::BundleKind>
Views this bundle as a bundle of a different kind.
Sourcepub fn node_bundle(&self) -> NodeBundle<<Self as HasBundleKind>::BundleKind>
pub fn node_bundle(&self) -> NodeBundle<<Self as HasBundleKind>::BundleKind>
Views this terminal bundle as a node bundle of the same kind.
Trait Implementations§
Source§impl<SubstrateV> FlatLen for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> FlatLen for TwoTerminalIoView<SubstrateV>
Source§impl<SubstrateV, SubstrateF> Flatten<SubstrateF> for TwoTerminalIoView<SubstrateV>
impl<SubstrateV, SubstrateF> Flatten<SubstrateF> for TwoTerminalIoView<SubstrateV>
Source§impl<SubstrateV> HasBundleKind for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,
impl<SubstrateV> HasBundleKind for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,
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 HasNestedView for TwoTerminalIoView<NestedNodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,
impl HasNestedView for TwoTerminalIoView<NestedNodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,
Source§type NestedView = TwoTerminalIoView<NestedNodeBundle>
type NestedView = TwoTerminalIoView<NestedNodeBundle>
A view of the nested object. Read more
Source§fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
Creates a nested view of the object given a parent node.
Source§impl HasNestedView for TwoTerminalIoView<NestedTerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,
impl HasNestedView for TwoTerminalIoView<NestedTerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,
Source§type NestedView = TwoTerminalIoView<NestedTerminalBundle>
type NestedView = TwoTerminalIoView<NestedTerminalBundle>
A view of the nested object. Read more
Source§fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
Creates a nested view of the object given a parent node.
Source§impl HasNestedView for TwoTerminalIoView<NodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,
impl HasNestedView for TwoTerminalIoView<NodeBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,
Source§type NestedView = TwoTerminalIoView<NestedNodeBundle>
type NestedView = TwoTerminalIoView<NestedNodeBundle>
A view of the nested object. Read more
Source§fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
Creates a nested view of the object given a parent node.
Source§impl HasNestedView for TwoTerminalIoView<TerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,
impl HasNestedView for TwoTerminalIoView<TerminalBundle>where
InOut<Signal>: HasSchematicBundleKindViews,
<InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,
Source§type NestedView = TwoTerminalIoView<NestedTerminalBundle>
type NestedView = TwoTerminalIoView<NestedTerminalBundle>
A view of the nested object. Read more
Source§fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
fn nested_view(&self, __substrate_parent: &InstancePath) -> NestedView<Self>
Creates a nested view of the object given a parent node.
Source§impl<SubstrateS, SubstrateA> Save<SubstrateS, SubstrateA> for TwoTerminalIoView<NestedNodeBundle>
impl<SubstrateS, SubstrateA> Save<SubstrateS, SubstrateA> for TwoTerminalIoView<NestedNodeBundle>
Source§type SaveKey = TwoTerminalIoView<NestedNodeSaveKeyView<SubstrateS, SubstrateA>>
type SaveKey = TwoTerminalIoView<NestedNodeSaveKeyView<SubstrateS, SubstrateA>>
The key type used to address the saved output within the analysis. Read more
Source§type Saved = TwoTerminalIoView<NestedNodeSavedView<SubstrateS, SubstrateA>>
type Saved = TwoTerminalIoView<NestedNodeSavedView<SubstrateS, SubstrateA>>
The saved data associated with things object.
Source§fn save(
&self,
__substrate_ctx: &SimulationContext<SubstrateS>,
__substrate_opts: &mut <SubstrateS as Simulator>::Options,
) -> <Self as Save<SubstrateS, SubstrateA>>::SaveKey
fn save( &self, __substrate_ctx: &SimulationContext<SubstrateS>, __substrate_opts: &mut <SubstrateS as Simulator>::Options, ) -> <Self as Save<SubstrateS, SubstrateA>>::SaveKey
Marks the given output for saving, returning a key that can be used to recover
the output once the simulation is complete.
Source§impl<SubstrateS, SubstrateA> Save<SubstrateS, SubstrateA> for TwoTerminalIoView<NestedTerminalBundle>
impl<SubstrateS, SubstrateA> Save<SubstrateS, SubstrateA> for TwoTerminalIoView<NestedTerminalBundle>
Source§type SaveKey = TwoTerminalIoView<NestedTerminalSaveKeyView<SubstrateS, SubstrateA>>
type SaveKey = TwoTerminalIoView<NestedTerminalSaveKeyView<SubstrateS, SubstrateA>>
The key type used to address the saved output within the analysis. Read more
Source§type Saved = TwoTerminalIoView<NestedTerminalSavedView<SubstrateS, SubstrateA>>
type Saved = TwoTerminalIoView<NestedTerminalSavedView<SubstrateS, SubstrateA>>
The saved data associated with things object.
Source§fn save(
&self,
__substrate_ctx: &SimulationContext<SubstrateS>,
__substrate_opts: &mut <SubstrateS as Simulator>::Options,
) -> <Self as Save<SubstrateS, SubstrateA>>::SaveKey
fn save( &self, __substrate_ctx: &SimulationContext<SubstrateS>, __substrate_opts: &mut <SubstrateS as Simulator>::Options, ) -> <Self as Save<SubstrateS, SubstrateA>>::SaveKey
Marks the given output for saving, returning a key that can be used to recover
the output once the simulation is complete.
Source§impl<SubstrateV> TransformRef for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV>,
<InOut<Signal> as HasView<SubstrateV>>::View: TransformRef,
impl<SubstrateV> TransformRef for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV>,
<InOut<Signal> as HasView<SubstrateV>>::View: TransformRef,
Source§fn transform_ref(&self, __substrate_transformation: Transformation) -> Self
fn transform_ref(&self, __substrate_transformation: Transformation) -> Self
Applies matrix-vector
Transformation
trans
.Source§impl<SubstrateV> TranslateRef for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV>,
<InOut<Signal> as HasView<SubstrateV>>::View: TranslateRef,
impl<SubstrateV> TranslateRef for TwoTerminalIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV>,
<InOut<Signal> as HasView<SubstrateV>>::View: TranslateRef,
Source§fn translate_ref(&self, __substrate_point: Point) -> Self
fn translate_ref(&self, __substrate_point: Point) -> Self
Translates the shape by
Point
, returning a new shape.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
Auto Trait Implementations§
impl<SubstrateV> !Freeze for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> !RefUnwindSafe for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> !Send for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> !Sync for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> !Unpin for TwoTerminalIoView<SubstrateV>
impl<SubstrateV> !UnwindSafe for TwoTerminalIoView<SubstrateV>
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
§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