logo
pub trait Tuple: Reflect {
    fn field(&self, index: usize) -> Option<&(dyn Reflect + 'static)>;
    fn field_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>;
    fn field_len(&self) -> usize;
    fn iter_fields(&self) -> TupleFieldIter<'_>Notable traits for TupleFieldIter<'a>impl<'a> Iterator for TupleFieldIter<'a>    type Item = &'a (dyn Reflect + 'static);;
    fn clone_dynamic(&self) -> DynamicTuple;
}
Expand description

A reflected Rust tuple.

This trait is automatically implemented for arbitrary tuples of up to 12 elements, provided that each element implements Reflect.

Example

use bevy_reflect::Tuple;

let foo = ("blue".to_string(), 42_i32);
assert_eq!(foo.field_len(), 2);

let first = foo.field(0).unwrap();
assert_eq!(first.downcast_ref::<String>(), Some(&"blue".to_string()));

Required Methods

Returns a reference to the value of the field with index index as a &dyn Reflect.

Returns a mutable reference to the value of the field with index index as a &mut dyn Reflect.

Returns the number of fields in the tuple.

Returns an iterator over the values of the tuple’s fields.

Clones the struct into a DynamicTuple.

Trait Implementations

Returns a reference to the value of the field with index index, downcast to T. Read more

Returns a mutable reference to the value of the field with index index, downcast to T. Read more

Implementations on Foreign Types

Implementors