Struct bevy_reflect::StructVariantInfo
source · pub struct StructVariantInfo { /* private fields */ }
Expand description
Type info for struct variants.
Implementations§
source§impl StructVariantInfo
impl StructVariantInfo
sourcepub fn new(name: &'static str, fields: &[NamedField]) -> Self
pub fn new(name: &'static str, fields: &[NamedField]) -> Self
Create a new StructVariantInfo
.
sourcepub fn with_custom_attributes(self, custom_attributes: CustomAttributes) -> Self
pub fn with_custom_attributes(self, custom_attributes: CustomAttributes) -> Self
Sets the custom attributes for this variant.
sourcepub fn field_names(&self) -> &[&'static str]
pub fn field_names(&self) -> &[&'static str]
A slice containing the names of all fields in order.
sourcepub fn field(&self, name: &str) -> Option<&NamedField>
pub fn field(&self, name: &str) -> Option<&NamedField>
Get the field with the given name.
sourcepub fn field_at(&self, index: usize) -> Option<&NamedField>
pub fn field_at(&self, index: usize) -> Option<&NamedField>
Get the field at the given index.
sourcepub fn index_of(&self, name: &str) -> Option<usize>
pub fn index_of(&self, name: &str) -> Option<usize>
Get the index of the field with the given name.
sourcepub fn iter(&self) -> Iter<'_, NamedField>
pub fn iter(&self) -> Iter<'_, NamedField>
Iterate over the fields of this variant.
sourcepub fn custom_attributes(&self) -> &CustomAttributes
pub fn custom_attributes(&self) -> &CustomAttributes
Returns the custom attributes for this item.
sourcepub fn get_attribute<T: Reflect>(&self) -> Option<&T>
pub fn get_attribute<T: Reflect>(&self) -> Option<&T>
Gets a custom attribute by type.
For dynamically accessing an attribute, see get_attribute_by_id
.
sourcepub fn get_attribute_by_id(&self, id: TypeId) -> Option<&dyn Reflect>
pub fn get_attribute_by_id(&self, id: TypeId) -> Option<&dyn Reflect>
Gets a custom attribute by its TypeId
.
This is the dynamic equivalent of get_attribute
.
sourcepub fn has_attribute<T: Reflect>(&self) -> bool
pub fn has_attribute<T: Reflect>(&self) -> bool
Returns true
if this item has a custom attribute of the specified type.
For dynamically checking if an attribute exists, see has_attribute_by_id
.
sourcepub fn has_attribute_by_id(&self, id: TypeId) -> bool
pub fn has_attribute_by_id(&self, id: TypeId) -> bool
Returns true
if this item has a custom attribute with the specified TypeId
.
This is the dynamic equivalent of has_attribute
Trait Implementations§
source§impl Clone for StructVariantInfo
impl Clone for StructVariantInfo
source§fn clone(&self) -> StructVariantInfo
fn clone(&self) -> StructVariantInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for StructVariantInfo
impl !RefUnwindSafe for StructVariantInfo
impl Send for StructVariantInfo
impl Sync for StructVariantInfo
impl Unpin for StructVariantInfo
impl !UnwindSafe for StructVariantInfo
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
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.