Struct libreda_db::reference_access::NetRef

source ·
pub struct NetRef<'a, N: NetlistBase + ?Sized> { /* private fields */ }
Expand description

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

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 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> Freeze for NetRef<'a, N>
where <N as NetlistIds>::NetId: Freeze, N: ?Sized,

§

impl<'a, N> RefUnwindSafe for NetRef<'a, N>

§

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

§

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

§

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

§

impl<'a, N> UnwindSafe for NetRef<'a, N>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.