[−][src]Struct rubidium::SimpleVolAddr
Represents a simple MMIO address that can be safely read or written.
Unlike with raw pointers, this type favors unsafe construction and then assumes that all usage is safe once the value has been constructed.
The convention is that addresses using this type are "plain" addresses.
- Reads will just get the current value (without any other side effect).
- Writes will set a new value without changing any other memory of the system (though usually there's a hardware side effect).
- If you perform a write, and then you immediately perform a read, you'll read back exactly whatever you just wrote (the same as with normal memory).
For addresses where there's anything weird going on (read-only, write-only, read and write represent different effects, etc) then other volatile address types are used.
Note: values of this type can safely alias one another.
Methods
impl<T> SimpleVolAddr<T>
[src]
#[must_use]pub fn read(&self) -> T where
T: Copy,
[src]
T: Copy,
Reads the current value at the address.
pub fn write(&self, t: T) where
T: Copy,
[src]
T: Copy,
Writes a new value to the address.
Trait Implementations
impl<T: Clone> Clone for SimpleVolAddr<T>
[src]
fn clone(&self) -> SimpleVolAddr<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Copy> Copy for SimpleVolAddr<T>
[src]
impl<T: Debug> Debug for SimpleVolAddr<T>
[src]
impl<T> Eq for SimpleVolAddr<T>
[src]
impl<T> PartialEq<SimpleVolAddr<T>> for SimpleVolAddr<T>
[src]
Auto Trait Implementations
impl<T> Send for SimpleVolAddr<T> where
T: Send,
T: Send,
impl<T> Sync for SimpleVolAddr<T> where
T: Sync,
T: Sync,
impl<T> Unpin for SimpleVolAddr<T> where
T: Unpin,
T: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,