Trait shard_ecs::descriptors::component_group::ComponentGroup[][src]

pub trait ComponentGroup<'c>: SealedComponentGroup + Sized + 'static {
    type RefTuple: 'c;
    type MutRefTuple: 'c;
    type SliceRefTuple: 'c;
    type SliceMutRefTuple: 'c;

    const DESCRIPTOR: ComponentGroupDescriptor;

    unsafe fn as_sorted_pointers(&mut self, ptrs: &mut [*mut u8; 14]);
unsafe fn read_from_sorted_pointers(pointers: &[*mut u8; 14]) -> Self;
unsafe fn pointers_as_ref_tuple(
        sorted_pointers: &[*mut u8; 14]
    ) -> Self::RefTuple;
unsafe fn pointers_as_mut_ref_tuple(
        sorted_pointers: &[*mut u8; 14]
    ) -> Self::MutRefTuple;
unsafe fn slice_unchecked(
        sorted_pointers: &[*mut u8; 14],
        len: usize
    ) -> Self::SliceRefTuple;
unsafe fn slice_unchecked_mut(
        sorted_pointers: &[*mut u8; 14],
        len: usize
    ) -> Self::SliceMutRefTuple;
fn empty_slice() -> Self::SliceRefTuple;
fn empty_slice_mut() -> Self::SliceMutRefTuple; }
Expand description

Represents a group of components. Used for specifying which component types should be matched in query’s.

Associated Types

Associated Constants

The descriptor which exactly specifies all components of the component group.

Required methods

Returns the sorted pointers given a reference to self.

Returns an instance of self, read from the sorted pointers.

Returns a reference tuple of component types given an array of sorted pointers.

Returns a mutable reference tuple of component types given an array of sorted pointers.

Returns a tuple of slices extracted from the given pointers.

Safety:
  • The pointers must be sorted.

Returns a tuple of mutable slices extracted from the given pointers.

Safety:
  • The pointers must be sorted.

Returns an tuple of empty slices.

Returns an tuple of empty mutable slices.

Implementations on Foreign Types

Implementors