Trait specs::Join [] [src]

pub trait Join {
    type Type;
    type Value;
    type Mask: BitSetLike;
    fn open(self) -> (Self::Mask, Self::Value);
    unsafe fn get(&mut Self::Value, Index) -> Self::Type;

    fn iter(self) -> JoinIter<Self> where Self: Sized { ... }
}

The purpose of the Join trait is to provide a way to access multiple storages at the same time with the merged bit set.

Associated Types

type Type

Type of joined components.

type Value

Type of joined storages.

type Mask: BitSetLike

Type of joined bit mask.

Required Methods

fn open(self) -> (Self::Mask, Self::Value)

Open this join by returning the mask and the storages.

unsafe fn get(&mut Self::Value, Index) -> Self::Type

Get a joined component value by a gien index.

Provided Methods

fn iter(self) -> JoinIter<Self> where Self: Sized

Create a joined iterator over the contents.

Implementors