pub struct StructInfo { /* private fields */ }
Expand description
A container for compile-time named struct info.
Implementations§
Source§impl StructInfo
impl StructInfo
Sourcepub fn new<T: Reflect + TypePath>(fields: &[NamedField]) -> Self
pub fn new<T: Reflect + TypePath>(fields: &[NamedField]) -> Self
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 struct.
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 struct.
Sourcepub fn type_path(&self) -> &'static str
pub fn type_path(&self) -> &'static str
The stable, full type path of this type.
Use type_path_table
if you need access to the other methods on TypePath
.
Sourcepub fn type_path_table(&self) -> &TypePathTable
pub fn type_path_table(&self) -> &TypePathTable
A representation of the type path of this type.
Provides dynamic access to all methods on TypePath
.
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
Sourcepub fn with_generics(self, generics: Generics) -> Self
pub fn with_generics(self, generics: Generics) -> Self
Sets the generic parameters for this type.
Trait Implementations§
Source§impl Clone for StructInfo
impl Clone for StructInfo
Source§fn clone(&self) -> StructInfo
fn clone(&self) -> StructInfo
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 StructInfo
impl !RefUnwindSafe for StructInfo
impl Send for StructInfo
impl Sync for StructInfo
impl Unpin for StructInfo
impl !UnwindSafe for StructInfo
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.