[][src]Trait legion_core::world::TagLayout

pub trait TagLayout: Sized {
    type Filter: for<'a> Filter<ArchetypeFilterData<'a>>;
    fn get_filter(&mut self) -> &mut Self::Filter;
fn tailor_archetype(&self, archetype: &mut ArchetypeDescription); }

Describes the types of a set of tags attached to an entity.

Associated Types

type Filter: for<'a> Filter<ArchetypeFilterData<'a>>

A filter type which filters archetypes to an exact match with this layout.

Loading content...

Required methods

fn get_filter(&mut self) -> &mut Self::Filter

Gets the archetype filter for this layout.

fn tailor_archetype(&self, archetype: &mut ArchetypeDescription)

Modifies an archetype description to include the tags described by this layout.

Loading content...

Implementations on Foreign Types

impl TagLayout for ()[src]

type Filter = Self

impl<A> TagLayout for (A,) where
    A: Tag
[src]

type Filter = Self

impl<A, B> TagLayout for (A, B) where
    A: Tag,
    B: Tag
[src]

type Filter = Self

impl<A, B, C> TagLayout for (A, B, C) where
    A: Tag,
    B: Tag,
    C: Tag
[src]

type Filter = Self

impl<A, B, C, D> TagLayout for (A, B, C, D) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag
[src]

type Filter = Self

impl<A, B, C, D, E> TagLayout for (A, B, C, D, E) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F> TagLayout for (A, B, C, D, E, F) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G> TagLayout for (A, B, C, D, E, F, G) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H> TagLayout for (A, B, C, D, E, F, G, H) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I> TagLayout for (A, B, C, D, E, F, G, H, I) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J> TagLayout for (A, B, C, D, E, F, G, H, I, J) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K> TagLayout for (A, B, C, D, E, F, G, H, I, J, K) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag,
    V: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag,
    V: Tag,
    W: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag,
    V: Tag,
    W: Tag,
    X: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag,
    V: Tag,
    W: Tag,
    X: Tag,
    Y: Tag
[src]

type Filter = Self

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> TagLayout for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) where
    A: Tag,
    B: Tag,
    C: Tag,
    D: Tag,
    E: Tag,
    F: Tag,
    G: Tag,
    H: Tag,
    I: Tag,
    J: Tag,
    K: Tag,
    L: Tag,
    M: Tag,
    N: Tag,
    O: Tag,
    P: Tag,
    Q: Tag,
    R: Tag,
    S: Tag,
    T: Tag,
    U: Tag,
    V: Tag,
    W: Tag,
    X: Tag,
    Y: Tag,
    Z: Tag
[src]

type Filter = Self

Loading content...

Implementors

Loading content...