pub struct NetRef<'a, N: NetlistBase + ?Sized> {
    pub(super) base: &'a N,
    pub(super) id: N::NetId,
}
Expand description

A reference to a net. This is just a wrapper around a netlist and a net ID.

Fields§

§base: &'a N

Reference to the parent data structure.

§id: N::NetId

ID of the net.

Implementations§

source§

impl<'a, L: L2NBase> NetRef<'a, L>

source

pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>>

Iterate over all shapes attached to this net.

source§

impl<'a, N: NetlistBase> NetRef<'a, N>

source

pub fn id(&self) -> N::NetId

Get the net ID.

source

pub fn name(&self) -> Option<N::NameType>

Get the name of the net.

source

pub fn parent(&self) -> CellRef<'a, N>

Get the cell where this net lives in.

source

pub fn each_pin(&self) -> impl Iterator<Item = PinRef<'a, N>> + '_

Iterate over each pin attached to this net.

source

pub fn each_pin_instance(&self) -> impl Iterator<Item = PinInstRef<'a, N>> + '_

Iterate over each pin instance attached to this net.

source

pub fn each_terminal(&self) -> impl Iterator<Item = TerminalRef<'a, N>> + '_

Iterate over terminal attached to this net.

source

pub fn each_driver(&self) -> impl Iterator<Item = TerminalRef<'a, N>> + '_

Iterate over all terminals that drive the net. This should usually be one. Returns the pins that are marked as inputs and pin instances marked as outputs. Skips InOut terminals.

source

pub fn each_sink(&self) -> impl Iterator<Item = TerminalRef<'a, N>> + '_

Iterate over all terminals that drive the net. This should usually be one. Returns the pins that are marked as inputs and pin instances marked as outputs. Skips InOut terminals.

source

pub fn qname(&self, separator: &str) -> String

Get a qualified name for this net.

source

pub fn num_pins(&self) -> usize

Get the number of external pins attached to this net (pins towards the outside of the circuit).

source

pub fn num_pin_instances(&self) -> usize

Get the number of pin instances attached to this net. Excludes the pins towards the outside of the circuit.

source

pub fn num_terminals(&self) -> usize

Get the total number of pins and pin instances connected to this net.

Trait Implementations§

source§

impl<'a, N: NetlistBase> PartialEq<NetRef<'a, N>> for NetRef<'a, N>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a, N: NetlistBase> Eq for NetRef<'a, N>

Auto Trait Implementations§

§

impl<'a, N: ?Sized> RefUnwindSafe for NetRef<'a, N>where N: RefUnwindSafe, <N as NetlistIds>::NetId: RefUnwindSafe,

§

impl<'a, N: ?Sized> Send for NetRef<'a, N>where N: Sync, <N as NetlistIds>::NetId: Send,

§

impl<'a, N: ?Sized> Sync for NetRef<'a, N>where N: Sync, <N as NetlistIds>::NetId: Sync,

§

impl<'a, N: ?Sized> Unpin for NetRef<'a, N>where <N as NetlistIds>::NetId: Unpin,

§

impl<'a, N: ?Sized> UnwindSafe for NetRef<'a, N>where N: RefUnwindSafe, <N as NetlistIds>::NetId: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.