Struct rinecs::operators::ReadAndParentRef [−][src]
pub struct ReadAndParentRef<'a, T, Ref> { /* fields omitted */ }
Operator over hierarchical components that will select an entity’s component for read only and apply another operator on it’s parent
#[derive(HierarchicalComponent, Debug)] struct Position{x: f32, y: f32} #[derive(Component, Debug)] struct Velocity{x: f32, y: f32}; let iter = entities.ordered_iter_for::<ReadAndParentRef<Position, Read<Velocity>>>(); for (pos, parent_vel) in iter { }
Trait Implementations
impl<'a, T, Ref> OrderedData<'a> for ReadAndParentRef<'a, T, Ref> where
<T as Component>::Storage: HierarchicalStorage<'b, T>,
ReadGuardRef<'b, <T as Component>::Storage>: IntoHierarchicalIter<'b, T>,
T: ComponentSend,
Ref: UnorderedData<'a>,
[src]
impl<'a, T, Ref> OrderedData<'a> for ReadAndParentRef<'a, T, Ref> where
<T as Component>::Storage: HierarchicalStorage<'b, T>,
ReadGuardRef<'b, <T as Component>::Storage>: IntoHierarchicalIter<'b, T>,
T: ComponentSend,
Ref: UnorderedData<'a>,
[src]type Iter = ReadAndParentRefIter<'a, ReadGuardRef<'a, T::Storage>, T, Ref, Ref::Storage>
type Components = T
type ComponentsRef = (&'a T, Option<<Ref as UnorderedData<'a>>::ComponentsRef>)
type Storage = ParentStorageReadRef<'a, ReadGuardRef<'a, T::Storage>, T, Ref, Ref::Storage>
fn query_mask<E: EntitiesStorage>(entities: &E) -> Bitmask
[src]
fn into_iter<E: EntitiesStorage>(entities: &'a E) -> Self::Iter
[src]
fn storage<E: EntitiesStorage>(entities: &'a E) -> Option<Self::Storage>
[src]
fn ordered_ids<S: FastIndexExt, E: EntitiesStorage>(
entities: &'a E,
query_mask: Bitmask,
unordered_storage: &S
) -> OrderedIndexGuard<'a>
[src]
entities: &'a E,
query_mask: Bitmask,
unordered_storage: &S
) -> OrderedIndexGuard<'a>
Auto Trait Implementations
impl<'a, T, Ref> RefUnwindSafe for ReadAndParentRef<'a, T, Ref> where
Ref: RefUnwindSafe,
T: RefUnwindSafe,
Ref: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T, Ref> Send for ReadAndParentRef<'a, T, Ref> where
Ref: Send,
T: Sync,
Ref: Send,
T: Sync,
impl<'a, T, Ref> Sync for ReadAndParentRef<'a, T, Ref> where
Ref: Sync,
T: Sync,
Ref: Sync,
T: Sync,
impl<'a, T, Ref> Unpin for ReadAndParentRef<'a, T, Ref> where
Ref: Unpin,
Ref: Unpin,
impl<'a, T, Ref> UnwindSafe for ReadAndParentRef<'a, T, Ref> where
Ref: UnwindSafe,
T: RefUnwindSafe,
Ref: UnwindSafe,
T: RefUnwindSafe,