pub struct ReadRegWrapper<'a, T, N, R>(/* private fields */)
where
T: UIntLike,
N: RegisterLongName,
R: BaseReadableRegister<T>;
Expand description
Workaround-wrapper for readable LiteX registers
This workaround-wrapper is required to make an associated type of
LiteXSoCRegisterConfiguration
generic over the
RegisterLongName
until generic associated types stabilize in
Rust. Please see the LiteXSoCRegisterConfiguration
documentation for more information.
Implementations§
Source§impl<'a, T, N, R> ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> ReadRegWrapper<'a, T, N, R>
pub fn wrap(reg: &'a R) -> ReadRegWrapper<'a, T, N, R>
Trait Implementations§
Source§impl<T, N, R> BaseReadableRegister<T> for ReadRegWrapper<'_, T, N, R>
impl<T, N, R> BaseReadableRegister<T> for ReadRegWrapper<'_, T, N, R>
Auto Trait Implementations§
impl<'a, T, N, R> Freeze for ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> RefUnwindSafe for ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> Send for ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> Sync for ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> Unpin for ReadRegWrapper<'a, T, N, R>
impl<'a, T, N, R> UnwindSafe for ReadRegWrapper<'a, T, N, R>
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
Source§impl<R, T> Read<T> for Rwhere
T: UIntLike,
R: BaseReadableRegister<T>,
impl<R, T> Read<T> for Rwhere
T: UIntLike,
R: BaseReadableRegister<T>,
const REG_WIDTH: usize = R::REG_WIDTH
type Reg = <R as BaseReadableRegister<T>>::Reg
Source§fn read_as_enum<E>(&self, field: Field<T, <R as Read<T>>::Reg>) -> Option<E>where
E: TryFromValue<T, EnumType = E>,
fn read_as_enum<E>(&self, field: Field<T, <R as Read<T>>::Reg>) -> Option<E>where
E: TryFromValue<T, EnumType = E>,
Read value of the given field as an enum member
Source§fn extract(&self) -> LocalRegisterCopy<T, <R as Read<T>>::Reg>
fn extract(&self) -> LocalRegisterCopy<T, <R as Read<T>>::Reg>
Make a local copy of the register
Source§fn is_set(&self, field: Field<T, <R as Read<T>>::Reg>) -> bool
fn is_set(&self, field: Field<T, <R as Read<T>>::Reg>) -> bool
Check if one or more bits in a field are set
Source§fn any_matching_bits_set(
&self,
field: FieldValue<T, <R as Read<T>>::Reg>,
) -> bool
fn any_matching_bits_set( &self, field: FieldValue<T, <R as Read<T>>::Reg>, ) -> bool
Check if any specified parts of a field match
Source§fn matches_all(&self, field: FieldValue<T, <R as Read<T>>::Reg>) -> bool
fn matches_all(&self, field: FieldValue<T, <R as Read<T>>::Reg>) -> bool
Check if all specified parts of a field match