Skip to main content

Factory

Struct Factory 

Source
pub struct Factory;
Expand description

The factory. Ambient, like the ConfigDb it is built on; every method is an associated function.

Implementations§

Source§

impl Factory

Source

pub fn create_by_name(name: &str) -> RustdvComp

Build a component from its registered string name (D71). Overridable, like anything from the factory. A name that is not registered is a testbench bug and panics; the file-driven form (ch39) will return a Result instead.

Source

pub fn set_type_override<From, To>()
where From: Component + ComponentNode + Default + 'static, To: Component + ComponentNode + Default + 'static,

Override every From::create_comp() with a To, testbench-wide (UVM set_type_override_by_type). Compile-checked: To must be a component.

Source

pub fn set_type_override_by_name(from: &str, to: &str)

The same, by string name (UVM set_type_override_by_name). Not compile-checked; an unregistered to panics at this call.

Source

pub fn set_inst_override<From, To>(ctx: &RustdvCtx, path: &str)
where From: Component + ComponentNode + Default + 'static, To: Component + ComponentNode + Default + 'static,

Override a single instance, addressed by its path relative to ctx (UVM set_inst_override_by_type). The path is a string because it names a component elsewhere in the tree — not a duplicate of a field name (D75).

Source

pub fn print()

Print the overrides in force (UVM uvm_factory().print()). It is the ConfigDb store, shown through the factory’s window (D68).

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.