Struct rsim::processor::elements::memory::AggregateMemory[][src]

pub struct AggregateMemory {
    mappings: Vec<Box<dyn Memory>>,
    full_range: Range<usize>,
}

Struct that combines a set of array-backed memory mappings. The mapped address ranges may not overlap.

Fields

mappings: Vec<Box<dyn Memory>>full_range: Range<usize>

Implementations

impl AggregateMemory[src]

pub fn from_mappings(mappings: Vec<Box<dyn Memory>>) -> Self[src]

Take a set of mappings, verify they do not overlap, and turn them into an AggregateMemory. Panics if any mappings overlap.

pub fn get_io_values(&self) -> Vec<Option<u64>>[src]

Returns a vector of all stored I/O values

Trait Implementations

impl From<MemoryBacking> for AggregateMemory[src]

For convenience, allow a single MemoryBacking to be converted directly to an AggregateMemory

impl Memory<u64> for AggregateMemory[src]

impl<TData> MemoryOf<TData, u64> for AggregateMemory where
    dyn Memory: MemoryOf<TData>, 
[src]

Foreach TData, where Memory implements MemoryOf, re-implement it for AggregateMemory TData = u8,u16,u32,u64

impl<'a, uXLEN: PossibleXlen> VecMemInterface<uXLEN, u128> for AggregateMemory[src]

Auto Trait Implementations

impl !RefUnwindSafe for AggregateMemory

impl !Send for AggregateMemory

impl !Sync for AggregateMemory

impl Unpin for AggregateMemory

impl !UnwindSafe for AggregateMemory

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.