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>
impl<'a> ComponentView<'a>
Sourcepub const fn id(&self) -> &'a ComponentInstanceId
pub const fn id(&self) -> &'a ComponentInstanceId
The mounted instance’s identity.
Sourcepub const fn instance(&self) -> &'a ComponentInstance
pub const fn instance(&self) -> &'a ComponentInstance
The mounted instance: its type, mount, driver block and per-capability parameters.
Sourcepub const fn component_type(&self) -> &'a Component
pub const fn component_type(&self) -> &'a Component
The component type this instance mounts.
Sourcepub const fn simulation(&self) -> Option<&'a Simulation>
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>
impl<'a> Clone for ComponentView<'a>
Source§fn clone(&self) -> ComponentView<'a>
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)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a> Copy for ComponentView<'a>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more