Skip to main content

ComponentView

Struct ComponentView 

Source
pub struct ComponentView<'a> { /* private fields */ }
Expand description

One mounted component, read as the single fact it is: the instance, the type behind it, and how a simulated world models that type.

This exists so no consumer joins Robot::components and Robot::component_types by hand. Joining them is the one lookup every participant, the supervisor and the simulator all need, and doing it in three places is three chances to disagree about what an absent type means.

Implementations§

Source§

impl<'a> ComponentView<'a>

Source

pub const fn id(&self) -> &'a ComponentInstanceId

The mounted instance’s identity.

Source

pub const fn instance(&self) -> &'a ComponentInstance

The mounted instance: its type, mount, driver block and per-capability parameters.

Source

pub const fn component_type(&self) -> &'a Component

The component type this instance mounts.

Source

pub const fn simulation(&self) -> Option<&'a Simulation>

How a simulated world models this component, when a document authored a simulation for its type.

Trait Implementations§

Source§

impl<'a> Clone for ComponentView<'a>

Source§

fn clone(&self) -> ComponentView<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for ComponentView<'a>

Source§

impl<'a> Debug for ComponentView<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for ComponentView<'a>

§

impl<'a> RefUnwindSafe for ComponentView<'a>

§

impl<'a> Send for ComponentView<'a>

§

impl<'a> Sync for ComponentView<'a>

§

impl<'a> Unpin for ComponentView<'a>

§

impl<'a> UnsafeUnpin for ComponentView<'a>

§

impl<'a> UnwindSafe for ComponentView<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.