pub enum ReflectPathElem {
SubReflection {
label: &'static str,
get: SubReflectGet,
get_mut: SubReflectGetMut,
},
SubReflectionIndexed {
label: &'static str,
index: usize,
get: SubReflectIndexedGet,
get_mut: SubReflectIndexedGetMut,
},
FieldAccess(Cow<'static, str>),
IndexAccess(usize),
}
Expand description
Stores the path of reflection + sub reflection from a root reflect reference.
Also allows accessing elements beyond reach of the normal reflect API
Variants§
SubReflection
SubReflectionIndexed
FieldAccess(Cow<'static, str>)
Access to a struct field
IndexAccess(usize)
Access to a TupleStruct, Tuple, List or Array element
Implementations§
source§impl ReflectPathElem
impl ReflectPathElem
pub fn sub_ref<'a>(
&self,
base: &'a dyn Reflect
) -> Result<&'a dyn Reflect, ReflectionError>
pub fn sub_ref_mut<'a>(
&self,
base: &'a mut dyn Reflect
) -> Result<&'a mut dyn Reflect, ReflectionError>
Trait Implementations§
source§impl Clone for ReflectPathElem
impl Clone for ReflectPathElem
source§fn clone(&self) -> ReflectPathElem
fn clone(&self) -> ReflectPathElem
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 ReflectPathElem
impl Debug for ReflectPathElem
Auto Trait Implementations§
impl RefUnwindSafe for ReflectPathElem
impl Send for ReflectPathElem
impl Sync for ReflectPathElem
impl Unpin for ReflectPathElem
impl UnwindSafe for ReflectPathElem
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.