Struct bevy_script_api::script_ref::ReflectPtr
source · pub struct ReflectPtr { /* private fields */ }
Expand description
A pointer wrapper with some extra safety information about mutability.
Implementations§
source§impl ReflectPtr
impl ReflectPtr
sourcepub unsafe fn const_ref<'a>(self) -> &'a dyn Reflect
pub unsafe fn const_ref<'a>(self) -> &'a dyn Reflect
dereference the pointer as an immutable reference. The caller must ensure the pointer is valid.
Safety
pointer must point to valid non-dangling data, aliasing rules must be upheld
sourcepub unsafe fn mut_ref<'a>(self) -> Option<&'a mut dyn Reflect>
pub unsafe fn mut_ref<'a>(self) -> Option<&'a mut dyn Reflect>
Dereference the pointer as a mutable reference,
The caller must ensure the pointer is valid. Returns None if the underlying pointer is const
Safety
pointer must point to valid non-dangling data, aliasing rules must be upheld
sourcepub unsafe fn map(
self,
get: fn(_: &dyn Reflect) -> &dyn Reflect,
get_mut: fn(_: &mut dyn Reflect) -> &mut dyn Reflect
) -> Self
pub unsafe fn map(
self,
get: fn(_: &dyn Reflect) -> &dyn Reflect,
get_mut: fn(_: &mut dyn Reflect) -> &mut dyn Reflect
) -> Self
Maps this pointer to another one with one of two funtions depending on if mutable access is available
Safety
pointer must point to valid non-dangling data, aliasing rules must be upheld
Trait Implementations§
source§impl Clone for ReflectPtr
impl Clone for ReflectPtr
source§fn clone(&self) -> ReflectPtr
fn clone(&self) -> ReflectPtr
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 ReflectPtr
impl Debug for ReflectPtr
source§impl From<*const dyn Reflect + 'static> for ReflectPtr
impl From<*const dyn Reflect + 'static> for ReflectPtr
source§impl From<*mut dyn Reflect + 'static> for ReflectPtr
impl From<*mut dyn Reflect + 'static> for ReflectPtr
impl Copy for ReflectPtr
impl Send for ReflectPtr
safe since Reflect values have to be Send
impl Sync for ReflectPtr
safe since Reflect values have to be Sync
Auto Trait Implementations§
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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.