Struct mmtk::util::opaque_pointer::OpaquePointer
source · #[repr(transparent)]pub struct OpaquePointer(*mut c_void);
Expand description
OpaquePointer represents pointers that MMTk needs to know about but will not deferefence it. For example, a pointer to the thread or the thread local storage is an opaque pointer for MMTK. The type does not provide any method for dereferencing.
Tuple Fields§
§0: *mut c_void
Implementations§
source§impl OpaquePointer
impl OpaquePointer
sourcepub const UNINITIALIZED: Self = _
pub const UNINITIALIZED: Self = _
Represents an uninitialized value for OpaquePointer
.
sourcepub fn from_address(addr: Address) -> Self
pub fn from_address(addr: Address) -> Self
Cast an Address
type to an OpaquePointer
.
sourcepub fn to_address(self) -> Address
pub fn to_address(self) -> Address
Cast the opaque pointer to an Address
type.
Trait Implementations§
source§impl Clone for OpaquePointer
impl Clone for OpaquePointer
source§fn clone(&self) -> OpaquePointer
fn clone(&self) -> OpaquePointer
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for OpaquePointer
impl Debug for OpaquePointer
source§impl Default for OpaquePointer
impl Default for OpaquePointer
source§impl PartialEq for OpaquePointer
impl PartialEq for OpaquePointer
source§fn eq(&self, other: &OpaquePointer) -> bool
fn eq(&self, other: &OpaquePointer) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for OpaquePointer
impl Eq for OpaquePointer
impl Send for OpaquePointer
impl StructuralPartialEq for OpaquePointer
impl Sync for OpaquePointer
Auto Trait Implementations§
impl RefUnwindSafe for OpaquePointer
impl Unpin for OpaquePointer
impl UnwindSafe for OpaquePointer
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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