Trait bevy_reflect::prelude::Reflect[][src]

pub unsafe trait Reflect: Any + Send + Sync {
    fn type_name(&self) -> &str;
fn any(&self) -> &dyn Any;
fn any_mut(&mut self) -> &mut dyn Any;
fn apply(&mut self, value: &dyn Reflect);
fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>;
fn reflect_ref(&self) -> ReflectRef<'_>;
fn reflect_mut(&mut self) -> ReflectMut<'_>;
fn clone_value(&self) -> Box<dyn Reflect>;
fn reflect_hash(&self) -> Option<u64>;
fn reflect_partial_eq(&self, _value: &dyn Reflect) -> Option<bool>;
fn serializable(&self) -> Option<Serializable<'_>>; }

A reflected rust type.

Safety

Implementors must ensure that Reflect::any and Reflect::any_mut both return the self value passed in If this is not done, [Reflect::downcast] will be UB (and also just logically broken).

Required methods

fn type_name(&self) -> &str[src]

fn any(&self) -> &dyn Any[src]

fn any_mut(&mut self) -> &mut dyn Any[src]

fn apply(&mut self, value: &dyn Reflect)[src]

fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>[src]

fn reflect_ref(&self) -> ReflectRef<'_>[src]

fn reflect_mut(&mut self) -> ReflectMut<'_>[src]

fn clone_value(&self) -> Box<dyn Reflect>[src]

fn reflect_hash(&self) -> Option<u64>[src]

Returns a hash of the value (which includes the type) if hashing is supported. Otherwise None will be returned.

fn reflect_partial_eq(&self, _value: &dyn Reflect) -> Option<bool>[src]

Returns a “partial equal” comparison result if comparison is supported. Otherwise None will be returned.

fn serializable(&self) -> Option<Serializable<'_>>[src]

Returns a serializable value, if serialization is supported. Otherwise None will be returned.

Loading content...

Implementations

impl dyn Reflect[src]

pub fn downcast<T: Reflect>(
    self: Box<dyn Reflect>
) -> Result<Box<T>, Box<dyn Reflect>>
[src]

pub fn take<T: Reflect>(self: Box<dyn Reflect>) -> Result<T, Box<dyn Reflect>>[src]

pub fn is<T: Reflect>(&self) -> bool[src]

pub fn downcast_ref<T: Reflect>(&self) -> Option<&T>[src]

pub fn downcast_mut<T: Reflect>(&mut self) -> Option<&mut T>[src]

Trait Implementations

impl Debug for dyn Reflect[src]

impl GetPath for dyn Reflect[src]

Implementations on Foreign Types

impl Reflect for ()[src]

impl<A: Reflect> Reflect for (A,)[src]

impl<A: Reflect, B: Reflect> Reflect for (A, B)[src]

impl<A: Reflect, B: Reflect, C: Reflect> Reflect for (A, B, C)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect> Reflect for (A, B, C, D)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect> Reflect for (A, B, C, D, E)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect> Reflect for (A, B, C, D, E, F)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect> Reflect for (A, B, C, D, E, F, G)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect, H: Reflect> Reflect for (A, B, C, D, E, F, G, H)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect, H: Reflect, I: Reflect> Reflect for (A, B, C, D, E, F, G, H, I)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect, H: Reflect, I: Reflect, J: Reflect> Reflect for (A, B, C, D, E, F, G, H, I, J)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect, H: Reflect, I: Reflect, J: Reflect, K: Reflect> Reflect for (A, B, C, D, E, F, G, H, I, J, K)[src]

impl<A: Reflect, B: Reflect, C: Reflect, D: Reflect, E: Reflect, F: Reflect, G: Reflect, H: Reflect, I: Reflect, J: Reflect, K: Reflect, L: Reflect> Reflect for (A, B, C, D, E, F, G, H, I, J, K, L)[src]

impl Reflect for bool[src]

impl Reflect for u8[src]

impl Reflect for u16[src]

impl Reflect for u32[src]

impl Reflect for u64[src]

impl Reflect for u128[src]

impl Reflect for usize[src]

impl Reflect for i8[src]

impl Reflect for i16[src]

impl Reflect for i32[src]

impl Reflect for i64[src]

impl Reflect for i128[src]

impl Reflect for isize[src]

impl Reflect for f32[src]

impl Reflect for f64[src]

impl Reflect for String[src]

impl<T: Serialize + Clone + for<'de> Deserialize<'de> + Reflect + 'static> Reflect for Option<T>[src]

impl<T: Serialize + Hash + Eq + Clone + for<'de> Deserialize<'de> + Send + Sync + 'static> Reflect for HashSet<T>[src]

impl<T: Serialize + Clone + for<'de> Deserialize<'de> + Send + Sync + 'static> Reflect for Range<T>[src]

impl Reflect for Duration[src]

impl<T: Reflect> Reflect for Vec<T>[src]

impl<K: Reflect + Clone + Eq + Hash, V: Reflect + Clone> Reflect for HashMap<K, V>[src]

impl Reflect for Cow<'static, str>[src]

Loading content...

Implementors

impl Reflect for DynamicList[src]

impl Reflect for DynamicMap[src]

impl Reflect for DynamicStruct[src]

impl Reflect for DynamicTuple[src]

impl Reflect for DynamicTupleStruct[src]

Loading content...