pub trait Reflect: Sized {
Show 21 methods
// Required methods
fn amount_of_fields(&self) -> usize;
fn try_get_index_of_field(
&self,
field_name: &str,
) -> Result<usize, ReflectError>;
fn try_get_field_at<T: 'static>(
&self,
field_index: usize,
) -> Result<&T, ReflectError>;
fn try_get_field_mut_at<T: 'static>(
&mut self,
field_index: usize,
) -> Result<&mut T, ReflectError>;
fn try_get_type_of_field_at(
&self,
field_index: usize,
) -> Result<TypeId, ReflectError>;
// Provided methods
fn get_index_of_field(&self, field_name: &str) -> usize { ... }
fn try_set_field_at<T: 'static>(
&mut self,
field_index: usize,
new_field_value: T,
) -> Result<(), ReflectError> { ... }
fn get_field_at<T: 'static>(&self, field_index: usize) -> &T { ... }
fn get_field_mut_at<T: 'static>(&mut self, field_index: usize) -> &mut T { ... }
fn set_field_at<T: 'static>(
&mut self,
field_index: usize,
new_field_value: T,
) { ... }
fn get_type_of_field_at(&self, field_index: usize) -> TypeId { ... }
fn try_get_field<T: 'static>(
&self,
field_name: &'static str,
) -> Result<&T, ReflectError> { ... }
fn try_get_field_mut<T: 'static>(
&mut self,
field_name: &'static str,
) -> Result<&mut T, ReflectError> { ... }
fn try_set_field<T: 'static>(
&mut self,
field_name: &'static str,
new_field_value: T,
) -> Result<(), ReflectError> { ... }
fn try_get_type_of_field(
&self,
field_name: &'static str,
) -> Result<TypeId, ReflectError> { ... }
fn get_field<T: 'static>(&self, field_name: &'static str) -> &T { ... }
fn get_field_mut<T: 'static>(&mut self, field_name: &'static str) -> &mut T { ... }
fn set_field<T: 'static>(
&mut self,
field_name: &'static str,
new_field_value: T,
) { ... }
fn get_type_of_field(&self, field_name: &'static str) -> TypeId { ... }
fn has_field(&self, field_name: &str) -> bool { ... }
fn has_field_at(&self, field_index: usize) -> bool { ... }
}
Required Methods§
fn amount_of_fields(&self) -> usize
fn try_get_index_of_field( &self, field_name: &str, ) -> Result<usize, ReflectError>
fn try_get_field_at<T: 'static>( &self, field_index: usize, ) -> Result<&T, ReflectError>
fn try_get_field_mut_at<T: 'static>( &mut self, field_index: usize, ) -> Result<&mut T, ReflectError>
fn try_get_type_of_field_at( &self, field_index: usize, ) -> Result<TypeId, ReflectError>
Provided Methods§
fn get_index_of_field(&self, field_name: &str) -> usize
fn try_set_field_at<T: 'static>( &mut self, field_index: usize, new_field_value: T, ) -> Result<(), ReflectError>
fn get_field_at<T: 'static>(&self, field_index: usize) -> &T
fn get_field_mut_at<T: 'static>(&mut self, field_index: usize) -> &mut T
fn set_field_at<T: 'static>(&mut self, field_index: usize, new_field_value: T)
fn get_type_of_field_at(&self, field_index: usize) -> TypeId
fn try_get_field<T: 'static>( &self, field_name: &'static str, ) -> Result<&T, ReflectError>
fn try_get_field_mut<T: 'static>( &mut self, field_name: &'static str, ) -> Result<&mut T, ReflectError>
fn try_set_field<T: 'static>( &mut self, field_name: &'static str, new_field_value: T, ) -> Result<(), ReflectError>
fn try_get_type_of_field( &self, field_name: &'static str, ) -> Result<TypeId, ReflectError>
fn get_field<T: 'static>(&self, field_name: &'static str) -> &T
fn get_field_mut<T: 'static>(&mut self, field_name: &'static str) -> &mut T
fn set_field<T: 'static>( &mut self, field_name: &'static str, new_field_value: T, )
fn get_type_of_field(&self, field_name: &'static str) -> TypeId
fn has_field(&self, field_name: &str) -> bool
fn has_field_at(&self, field_index: usize) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.