substrate::types

Trait HasBundleKind

Source
pub trait HasBundleKind: Send + Sync {
    type BundleKind: BundleKind;

    // Required method
    fn kind(&self) -> Self::BundleKind;
}
Expand description

A construct with an associated BundleKind.

Required Associated Types§

Source

type BundleKind: BundleKind

The Rust type of the BundleKind associated with this bundle.

Required Methods§

Source

fn kind(&self) -> Self::BundleKind

Returns the BundleKind of this bundle.

Implementations on Foreign Types§

Source§

impl HasBundleKind for ()

Source§

type BundleKind = ()

Source§

fn kind(&self) -> Self::BundleKind

Source§

impl<T: HasBundleKind> HasBundleKind for &T

Implementors§

Source§

impl HasBundleKind for NestedNode

Source§

impl HasBundleKind for NestedTerminal

Source§

impl HasBundleKind for Node

Source§

impl HasBundleKind for Terminal

Source§

impl HasBundleKind for DiffPair

Source§

impl HasBundleKind for DiffPairKind

Source§

impl HasBundleKind for MosIo

Source§

impl HasBundleKind for MosIoKind

Source§

impl HasBundleKind for PowerIo

Source§

impl HasBundleKind for PowerIoKind

Source§

impl HasBundleKind for Signal

Source§

impl HasBundleKind for TestbenchIo

Source§

impl HasBundleKind for TestbenchIoKind

Source§

impl HasBundleKind for TwoTerminalIo

Source§

impl HasBundleKind for TwoTerminalIoKind

Source§

impl<L: Send + Sync> HasBundleKind for PortGeometry<L>

Source§

impl<SubstrateV> HasBundleKind for DiffPairView<SubstrateV>
where InOut<Signal>: HasView<SubstrateV> + HasBundleKind, <InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,

Source§

impl<SubstrateV> HasBundleKind for MosIoView<SubstrateV>
where InOut<Signal>: HasView<SubstrateV> + HasBundleKind, Input<Signal>: HasView<SubstrateV> + HasBundleKind, <InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind, <Input<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <Input<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,

Source§

impl<SubstrateV> HasBundleKind for PowerIoView<SubstrateV>
where InOut<Signal>: HasView<SubstrateV> + HasBundleKind, <InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,

Source§

impl<SubstrateV> HasBundleKind for TestbenchIoView<SubstrateV>
where InOut<Signal>: HasView<SubstrateV> + HasBundleKind, <InOut<Signal> as HasView<SubstrateV>>::View: HasBundleKind<BundleKind = <InOut<Signal> as HasBundleKind>::BundleKind> + HasBundleKind,

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,

Source§

impl<T: HasBundleKind> HasBundleKind for Array<T>

Source§

impl<T: HasBundleKind> HasBundleKind for ArrayBundle<T>

Source§

impl<T: HasBundleKind> HasBundleKind for Flipped<T>

Source§

impl<T: HasBundleKind> HasBundleKind for InOut<T>

Source§

impl<T: HasBundleKind> HasBundleKind for Input<T>

Source§

impl<T: HasBundleKind> HasBundleKind for Output<T>