pub enum ReflectRef<'a> {
Struct(&'a (dyn Struct + 'static)),
TupleStruct(&'a (dyn TupleStruct + 'static)),
Tuple(&'a (dyn Tuple + 'static)),
List(&'a (dyn List + 'static)),
Array(&'a (dyn Array + 'static)),
Map(&'a (dyn Map + 'static)),
Set(&'a (dyn Set + 'static)),
Enum(&'a (dyn Enum + 'static)),
Opaque(&'a (dyn PartialReflect + 'static)),
}Expand description
An immutable enumeration of “kinds” of a reflected type.
Each variant contains a trait object with methods specific to a kind of type.
A ReflectRef is obtained via PartialReflect::reflect_ref.
Variants§
Struct(&'a (dyn Struct + 'static))
An immutable reference to a struct-like type.
TupleStruct(&'a (dyn TupleStruct + 'static))
An immutable reference to a tuple-struct-like type.
Tuple(&'a (dyn Tuple + 'static))
An immutable reference to a tuple-like type.
List(&'a (dyn List + 'static))
An immutable reference to a list-like type.
Array(&'a (dyn Array + 'static))
An immutable reference to an array-like type.
Map(&'a (dyn Map + 'static))
An immutable reference to a map-like type.
Set(&'a (dyn Set + 'static))
An immutable reference to a set-like type.
Enum(&'a (dyn Enum + 'static))
An immutable reference to an enum-like type.
Opaque(&'a (dyn PartialReflect + 'static))
An immutable reference to an opaque type.
Implementations§
Source§impl ReflectRef<'_>
impl ReflectRef<'_>
Sourcepub fn kind(&self) -> ReflectKind
pub fn kind(&self) -> ReflectKind
Returns the “kind” of this reflected type without any information.
Source§impl<'a> ReflectRef<'a>
impl<'a> ReflectRef<'a>
Sourcepub fn as_struct(
self,
) -> Result<&'a (dyn Struct + 'static), ReflectKindMismatchError>
pub fn as_struct( self, ) -> Result<&'a (dyn Struct + 'static), ReflectKindMismatchError>
Attempts a cast to a Struct trait object.
Returns an error if self is not the Self::Struct variant.
Sourcepub fn as_tuple_struct(
self,
) -> Result<&'a (dyn TupleStruct + 'static), ReflectKindMismatchError>
pub fn as_tuple_struct( self, ) -> Result<&'a (dyn TupleStruct + 'static), ReflectKindMismatchError>
Attempts a cast to a TupleStruct trait object.
Returns an error if self is not the Self::TupleStruct variant.
Sourcepub fn as_tuple(
self,
) -> Result<&'a (dyn Tuple + 'static), ReflectKindMismatchError>
pub fn as_tuple( self, ) -> Result<&'a (dyn Tuple + 'static), ReflectKindMismatchError>
Attempts a cast to a Tuple trait object.
Returns an error if self is not the Self::Tuple variant.
Sourcepub fn as_list(
self,
) -> Result<&'a (dyn List + 'static), ReflectKindMismatchError>
pub fn as_list( self, ) -> Result<&'a (dyn List + 'static), ReflectKindMismatchError>
Attempts a cast to a List trait object.
Returns an error if self is not the Self::List variant.
Sourcepub fn as_array(
self,
) -> Result<&'a (dyn Array + 'static), ReflectKindMismatchError>
pub fn as_array( self, ) -> Result<&'a (dyn Array + 'static), ReflectKindMismatchError>
Attempts a cast to a Array trait object.
Returns an error if self is not the Self::Array variant.
Sourcepub fn as_map(self) -> Result<&'a (dyn Map + 'static), ReflectKindMismatchError>
pub fn as_map(self) -> Result<&'a (dyn Map + 'static), ReflectKindMismatchError>
Sourcepub fn as_set(self) -> Result<&'a (dyn Set + 'static), ReflectKindMismatchError>
pub fn as_set(self) -> Result<&'a (dyn Set + 'static), ReflectKindMismatchError>
Sourcepub fn as_enum(
self,
) -> Result<&'a (dyn Enum + 'static), ReflectKindMismatchError>
pub fn as_enum( self, ) -> Result<&'a (dyn Enum + 'static), ReflectKindMismatchError>
Attempts a cast to a Enum trait object.
Returns an error if self is not the Self::Enum variant.
Sourcepub fn as_opaque(
self,
) -> Result<&'a (dyn PartialReflect + 'static), ReflectKindMismatchError>
pub fn as_opaque( self, ) -> Result<&'a (dyn PartialReflect + 'static), ReflectKindMismatchError>
Attempts a cast to a PartialReflect trait object.
Returns an error if self is not the Self::Opaque variant.
Trait Implementations§
Source§impl From<ReflectRef<'_>> for ReflectKind
impl From<ReflectRef<'_>> for ReflectKind
Source§fn from(value: ReflectRef<'_>) -> ReflectKind
fn from(value: ReflectRef<'_>) -> ReflectKind
Auto Trait Implementations§
impl<'a> Freeze for ReflectRef<'a>
impl<'a> !RefUnwindSafe for ReflectRef<'a>
impl<'a> Send for ReflectRef<'a>
impl<'a> Sync for ReflectRef<'a>
impl<'a> Unpin for ReflectRef<'a>
impl<'a> !UnwindSafe for ReflectRef<'a>
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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