substrate::schematic

Trait HasNestedView

Source
pub trait HasNestedView<T = InstancePath> {
    type NestedView: Send + Sync;

    // Required method
    fn nested_view(&self, parent: &T) -> NestedView<Self, T>;
}
Expand description

An object that can be nested within a parent transform.

Required Associated Types§

Source

type NestedView: Send + Sync

A view of the nested object.

Nesting a nested view should return the same type.

Required Methods§

Source

fn nested_view(&self, parent: &T) -> NestedView<Self, T>

Creates a nested view of the object given a parent node.

Implementations on Foreign Types§

Source§

impl<T> HasNestedView<T> for ()

Source§

type NestedView = ()

Source§

fn nested_view(&self, _parent: &T) -> NestedView<Self>

Source§

impl<T: HasNestedView> HasNestedView for Option<T>

Source§

impl<T: HasNestedView> HasNestedView for Vec<T>

Implementors§

Source§

impl HasNestedView for SaveOutput

Source§

impl HasNestedView for SaveTime

Source§

impl HasNestedView for NestedNode

Source§

impl HasNestedView for NestedTerminal

Source§

impl HasNestedView for Node

Source§

impl HasNestedView for RawNestedNode

Source§

impl HasNestedView for Terminal

Source§

impl HasNestedView for DiffPairView<NestedNodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,

Source§

type NestedView = DiffPairView<NestedNodeBundle>

Source§

impl HasNestedView for DiffPairView<NestedTerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,

Source§

type NestedView = DiffPairView<NestedTerminalBundle>

Source§

impl HasNestedView for DiffPairView<NodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,

Source§

type NestedView = DiffPairView<NestedNodeBundle>

Source§

impl HasNestedView for DiffPairView<TerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,

Source§

type NestedView = DiffPairView<NestedTerminalBundle>

Source§

impl HasNestedView for MosIoView<NestedNodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, Input<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView, <Input<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <Input<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,

Source§

type NestedView = MosIoView<NestedNodeBundle>

Source§

impl HasNestedView for MosIoView<NestedTerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, Input<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView, <Input<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <Input<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,

Source§

type NestedView = MosIoView<NestedTerminalBundle>

Source§

impl HasNestedView for MosIoView<NodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, Input<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView, <Input<Signal> as HasView<NodeBundle>>::View: HasNestedView,

Source§

type NestedView = MosIoView<NestedNodeBundle>

Source§

impl HasNestedView for MosIoView<TerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, Input<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView, <Input<Signal> as HasView<TerminalBundle>>::View: HasNestedView,

Source§

type NestedView = MosIoView<NestedTerminalBundle>

Source§

impl HasNestedView for PowerIoView<NestedNodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,

Source§

type NestedView = PowerIoView<NestedNodeBundle>

Source§

impl HasNestedView for PowerIoView<NestedTerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,

Source§

type NestedView = PowerIoView<NestedTerminalBundle>

Source§

impl HasNestedView for PowerIoView<NodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,

Source§

type NestedView = PowerIoView<NestedNodeBundle>

Source§

impl HasNestedView for PowerIoView<TerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,

Source§

type NestedView = PowerIoView<NestedTerminalBundle>

Source§

impl HasNestedView for TestbenchIoView<NestedNodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedNodeBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedNodeBundle>>::View> + HasNestedView,

Source§

type NestedView = TestbenchIoView<NestedNodeBundle>

Source§

impl HasNestedView for TestbenchIoView<NestedTerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NestedTerminalBundle>>::View: HasNestedView<NestedView = <InOut<Signal> as HasView<NestedTerminalBundle>>::View> + HasNestedView,

Source§

type NestedView = TestbenchIoView<NestedTerminalBundle>

Source§

impl HasNestedView for TestbenchIoView<NodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,

Source§

type NestedView = TestbenchIoView<NestedNodeBundle>

Source§

impl HasNestedView for TestbenchIoView<TerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,

Source§

type NestedView = TestbenchIoView<NestedTerminalBundle>

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,

Source§

type NestedView = TwoTerminalIoView<NestedNodeBundle>

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,

Source§

type NestedView = TwoTerminalIoView<NestedTerminalBundle>

Source§

impl HasNestedView for TwoTerminalIoView<NodeBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<NodeBundle>>::View: HasNestedView,

Source§

type NestedView = TwoTerminalIoView<NestedNodeBundle>

Source§

impl HasNestedView for TwoTerminalIoView<TerminalBundle>
where InOut<Signal>: HasSchematicBundleKindViews, <InOut<Signal> as HasView<TerminalBundle>>::View: HasNestedView,

Source§

type NestedView = TwoTerminalIoView<NestedTerminalBundle>

Source§

impl<B: Schematic> HasNestedView for Instance<B>

Source§

impl<B: Schematic> HasNestedView for NestedInstance<B>

Source§

impl<S: StringPathSchema> HasNestedView<PexContext<S>> for NestedNode

Source§

impl<T: HasBundleKind + HasNestedView<NestedView: HasBundleKind<BundleKind = <T as HasBundleKind>::BundleKind>>> HasNestedView for ArrayBundle<T>

Source§

impl<T: Schematic> HasNestedView for NestedPexData<T>

Source§

impl<T: Schematic> HasNestedView for PexData<T>