pub enum MappingMultiArchUserRef<T, T64, T32> {
Arch64(UserRef<T64>, PhantomData<T>),
Arch32(UserRef<T32>),
}Variants§
Arch64(UserRef<T64>, PhantomData<T>)
Arch32(UserRef<T32>)
Implementations§
Source§impl<T, T64, T32> MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> MappingMultiArchUserRef<T, T64, T32>
pub fn new<Arch: ArchSpecific, Addr: Into<UserAddress>>( arch: &Arch, address: Addr, ) -> Self
pub fn new_with_ref<E, Arch: ArchSpecific, UR: TryInto<UserRef<T64>, Error = E> + TryInto<UserRef<T32>, Error = E>>( arch: &Arch, user_ref: UR, ) -> Result<Self, E>
pub fn null<Arch: ArchSpecific>(arch: &Arch) -> Self
pub fn from_32(addr: UserRef<T32>) -> Self
pub fn is_null(&self) -> bool
pub fn addr(&self) -> UserAddress
Source§impl<T: TryInto<T64> + TryInto<T32>, T64: Immutable + IntoBytes, T32: Immutable + IntoBytes> MappingMultiArchUserRef<T, T64, T32>
impl<T: TryInto<T64> + TryInto<T32>, T64: Immutable + IntoBytes, T32: Immutable + IntoBytes> MappingMultiArchUserRef<T, T64, T32>
pub fn into_bytes<Arch: ArchSpecific>( arch: &Arch, value: T, ) -> Result<Vec<u8>, ()>
Source§impl<T, T64: FromBytes, T32: FromBytes> MappingMultiArchUserRef<T, T64, T32>
impl<T, T64: FromBytes, T32: FromBytes> MappingMultiArchUserRef<T, T64, T32>
pub fn size_of_object(&self) -> usize
pub fn size_of_object_for<A: ArchSpecific>(a: &A) -> usize
pub fn align_of_object_for<A: ArchSpecific>(a: &A) -> usize
pub fn next(&self) -> Result<Self, Errno>
pub fn at(&self, index: usize) -> Result<Self, Errno>
Source§impl<T, T64: FromBytes + TryInto<T>, T32: FromBytes + TryInto<T>> MappingMultiArchUserRef<T, T64, T32>
impl<T, T64: FromBytes + TryInto<T>, T32: FromBytes + TryInto<T>> MappingMultiArchUserRef<T, T64, T32>
pub fn read_from_prefix<A: ArchSpecific>(a: &A, bytes: &[u8]) -> Result<T, ()>
Source§impl<T, T64, T32> MappingMultiArchUserRef<MappingMultiArchUserRef<T, T64, T32>, MappingMultiArchUserRef<T, T64, T32>, MappingMultiArchUserRef<T, T64, T32>>
impl<T, T64, T32> MappingMultiArchUserRef<MappingMultiArchUserRef<T, T64, T32>, MappingMultiArchUserRef<T, T64, T32>, MappingMultiArchUserRef<T, T64, T32>>
Methods from Deref<Target = UserAddress>§
pub const NULL: Self
pub fn ptr(&self) -> zx_vaddr_t
pub fn round_up(&self, increment: u64) -> Result<UserAddress, Errno>
pub fn is_aligned(&self, alignment: u64) -> bool
pub fn is_null(&self) -> bool
pub fn checked_add(&self, rhs: usize) -> Option<UserAddress>
pub fn checked_add_signed(&self, rhs: isize) -> Option<UserAddress>
pub fn checked_sub(&self, rhs: usize) -> Option<UserAddress>
pub fn saturating_add(&self, rhs: usize) -> Self
pub fn saturating_sub(&self, rhs: usize) -> Self
pub fn is_lower_32bit(&self) -> bool
Trait Implementations§
Source§impl<T, T64, T32> ArchSpecific for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> ArchSpecific for MappingMultiArchUserRef<T, T64, T32>
Source§impl<T, T64, T32> Clone for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> Clone for MappingMultiArchUserRef<T, T64, T32>
Source§impl<T, T64, T32> Deref for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> Deref for MappingMultiArchUserRef<T, T64, T32>
Source§type Target = UserAddress
type Target = UserAddress
The resulting type after dereferencing.
Source§fn deref(&self) -> &UserAddress
fn deref(&self) -> &UserAddress
Dereferences the value.
Source§impl<T, T64, T32> From<UserRef<T64>> for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> From<UserRef<T64>> for MappingMultiArchUserRef<T, T64, T32>
Source§impl<T, T64, T32> From<uref<T64>> for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> From<uref<T64>> for MappingMultiArchUserRef<T, T64, T32>
Source§impl<T, T64, T32> From<uref32<T32>> for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> From<uref32<T32>> for MappingMultiArchUserRef<T, T64, T32>
Source§impl<T, T64, T32> TryFrom<MappingMultiArchUserRef<T, T64, T32>> for uref<T64>
impl<T, T64, T32> TryFrom<MappingMultiArchUserRef<T, T64, T32>> for uref<T64>
Source§impl<T, T64, T32> TryFrom<MappingMultiArchUserRef<T, T64, T32>> for uref32<T32>
impl<T, T64, T32> TryFrom<MappingMultiArchUserRef<T, T64, T32>> for uref32<T32>
impl<T, T64, T32> Copy for MappingMultiArchUserRef<T, T64, T32>
Auto Trait Implementations§
impl<T, T64, T32> Freeze for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> RefUnwindSafe for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> Send for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> Sync for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> Unpin for MappingMultiArchUserRef<T, T64, T32>
impl<T, T64, T32> UnwindSafe for MappingMultiArchUserRef<T, T64, T32>
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more