pub trait NetlistBaseDecorator: Decorator where
    Self::D: NetlistBase
{
Show 41 methods fn d_template_pin(
        &self,
        pin_instance: &<Self::D as NetlistBase>::PinInstId
    ) -> <Self::D as NetlistBase>::PinId { ... } fn d_pin_direction(&self, pin: &<Self::D as NetlistBase>::PinId) -> Direction { ... } fn d_pin_name(
        &self,
        pin: &<Self::D as NetlistBase>::PinId
    ) -> <Self::D as HierarchyBase>::NameType { ... } fn d_pin_by_name(
        &self,
        parent_circuit: &<Self::D as HierarchyBase>::CellId,
        name: &str
    ) -> Option<<Self::D as NetlistBase>::PinId> { ... } fn d_parent_cell_of_pin(
        &self,
        pin: &<Self::D as NetlistBase>::PinId
    ) -> <Self::D as HierarchyBase>::CellId { ... } fn d_parent_of_pin_instance(
        &self,
        pin_inst: &<Self::D as NetlistBase>::PinInstId
    ) -> <Self::D as HierarchyBase>::CellInstId { ... } fn d_pin_instance(
        &self,
        cell_inst: &<Self::D as HierarchyBase>::CellInstId,
        pin: &<Self::D as NetlistBase>::PinId
    ) -> <Self::D as NetlistBase>::PinInstId { ... } fn d_parent_cell_of_net(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> <Self::D as HierarchyBase>::CellId { ... } fn d_net_of_pin(
        &self,
        pin: &<Self::D as NetlistBase>::PinId
    ) -> Option<<Self::D as NetlistBase>::NetId> { ... } fn d_net_of_pin_instance(
        &self,
        pin_instance: &<Self::D as NetlistBase>::PinInstId
    ) -> Option<<Self::D as NetlistBase>::NetId> { ... } fn d_net_of_terminal(
        &self,
        terminal: &TerminalId<Self::D>
    ) -> Option<<Self::D as NetlistBase>::NetId> { ... } fn d_net_zero(
        &self,
        parent_circuit: &<Self::D as HierarchyBase>::CellId
    ) -> <Self::D as NetlistBase>::NetId { ... } fn d_net_one(
        &self,
        parent_circuit: &<Self::D as HierarchyBase>::CellId
    ) -> <Self::D as NetlistBase>::NetId { ... } fn d_net_by_name(
        &self,
        parent_circuit: &<Self::D as HierarchyBase>::CellId,
        name: &str
    ) -> Option<<Self::D as NetlistBase>::NetId> { ... } fn d_net_name(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Option<<Self::D as HierarchyBase>::NameType> { ... } fn d_for_each_pin<F>(
        &self,
        circuit: &<Self::D as HierarchyBase>::CellId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::PinId)
, { ... } fn d_each_pin_vec(
        &self,
        circuit: &<Self::D as HierarchyBase>::CellId
    ) -> Vec<<Self::D as NetlistBase>::PinId> { ... } fn d_each_pin<'a>(
        &'a self,
        circuit: &<Self::D as HierarchyBase>::CellId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::PinId> + 'a> { ... } fn d_for_each_pin_instance<F>(
        &self,
        circuit_inst: &<Self::D as HierarchyBase>::CellInstId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::PinInstId)
, { ... } fn d_each_pin_instance_vec(
        &self,
        circuit_instance: &<Self::D as HierarchyBase>::CellInstId
    ) -> Vec<<Self::D as NetlistBase>::PinInstId> { ... } fn d_each_pin_instance<'a>(
        &'a self,
        circuit_instance: &<Self::D as HierarchyBase>::CellInstId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::PinInstId> + 'a> { ... } fn d_each_external_net<'a>(
        &'a self,
        circuit_instance: &<Self::D as HierarchyBase>::CellInstId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::NetId> + 'a> { ... } fn d_for_each_external_net<F>(
        &self,
        circuit_instance: &<Self::D as HierarchyBase>::CellInstId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::NetId)
, { ... } fn d_each_external_net_vec(
        &self,
        circuit_instance: &<Self::D as HierarchyBase>::CellInstId
    ) -> Vec<<Self::D as NetlistBase>::NetId> { ... } fn d_for_each_internal_net<F>(
        &self,
        circuit: &<Self::D as HierarchyBase>::CellId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::NetId)
, { ... } fn d_each_internal_net_vec(
        &self,
        circuit: &<Self::D as HierarchyBase>::CellId
    ) -> Vec<<Self::D as NetlistBase>::NetId> { ... } fn d_each_internal_net<'a>(
        &'a self,
        circuit: &<Self::D as HierarchyBase>::CellId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::NetId> + 'a> { ... } fn d_num_internal_nets(
        &self,
        circuit: &<Self::D as HierarchyBase>::CellId
    ) -> usize { ... } fn d_num_net_pins(&self, net: &<Self::D as NetlistBase>::NetId) -> usize { ... } fn d_num_net_pin_instances(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> usize { ... } fn d_num_net_terminals(&self, net: &<Self::D as NetlistBase>::NetId) -> usize { ... } fn d_num_pins(&self, circuit: &<Self::D as HierarchyBase>::CellId) -> usize { ... } fn d_for_each_pin_of_net<F>(
        &self,
        net: &<Self::D as NetlistBase>::NetId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::PinId)
, { ... } fn d_each_pin_of_net_vec(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Vec<<Self::D as NetlistBase>::PinId> { ... } fn d_each_pin_of_net<'a>(
        &'a self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::PinId> + 'a> { ... } fn d_for_each_pin_instance_of_net<F>(
        &self,
        net: &<Self::D as NetlistBase>::NetId,
        f: F
    )
    where
        F: FnMut(<Self::D as NetlistBase>::PinInstId)
, { ... } fn d_each_pin_instance_of_net_vec(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Vec<<Self::D as NetlistBase>::PinInstId> { ... } fn d_each_pin_instance_of_net<'a>(
        &'a self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Box<dyn Iterator<Item = <Self::D as NetlistBase>::PinInstId> + 'a> { ... } fn d_for_each_terminal_of_net<F>(
        &self,
        net: &<Self::D as NetlistBase>::NetId,
        f: F
    )
    where
        F: FnMut(TerminalId<Self::D>)
, { ... } fn d_each_terminal_of_net_vec(
        &self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Vec<TerminalId<Self::D>> { ... } fn d_each_terminal_of_net<'a>(
        &'a self,
        net: &<Self::D as NetlistBase>::NetId
    ) -> Box<dyn Iterator<Item = TerminalId<Self::D>> + 'a> { ... }
}
Expand description

Define the same functions as NetlistBase but just prepend a d_ to avoid naming conflicts. The default implementation just forwards the call to the base(). This allows to selectively re-implement some functions or fully delegate the trait to an attribute of a struct.

Provided Methods

Implementors