[][src]Trait web_glitz::pipeline::interface_block::InterfaceBlockComponent

pub unsafe trait InterfaceBlockComponent: StableRepr {
    const MEMORY_UNITS: &'static [MemoryUnit];
}

Trait that may be implemented on types that are to be used as struct members for a struct deriving InterfaceBlock.

If all members of a struct implement InterfaceBlockComponent, then the InterfaceBlock can be automatically derived (see the documentation for InterfaceBlock for an example).

This trait may be automatically derived for a struct, if all of the struct's members implement InterfaceBlockComponent as well.

Unsafe

Any instance of a type that implements this trait must be bitwise compatible with the memory layout specified by [MEMORY_UNITS].

Associated Constants

Loading content...

Implementations on Foreign Types

impl InterfaceBlockComponent for float[src]

impl InterfaceBlockComponent for vec2[src]

impl InterfaceBlockComponent for vec3[src]

impl InterfaceBlockComponent for vec4[src]

impl InterfaceBlockComponent for int[src]

impl InterfaceBlockComponent for ivec2[src]

impl InterfaceBlockComponent for ivec3[src]

impl InterfaceBlockComponent for ivec4[src]

impl InterfaceBlockComponent for uint[src]

impl InterfaceBlockComponent for uvec2[src]

impl InterfaceBlockComponent for uvec3[src]

impl InterfaceBlockComponent for uvec4[src]

impl InterfaceBlockComponent for boolean[src]

impl InterfaceBlockComponent for bvec2[src]

impl InterfaceBlockComponent for bvec3[src]

impl InterfaceBlockComponent for bvec4[src]

impl InterfaceBlockComponent for mat2x2[src]

impl InterfaceBlockComponent for mat2x3[src]

impl InterfaceBlockComponent for mat2x4[src]

impl InterfaceBlockComponent for mat3x2[src]

impl InterfaceBlockComponent for mat3x3[src]

impl InterfaceBlockComponent for mat3x4[src]

impl InterfaceBlockComponent for mat4x2[src]

impl InterfaceBlockComponent for mat4x3[src]

impl InterfaceBlockComponent for mat4x4[src]

impl<const LEN: usize> InterfaceBlockComponent for array<float, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<vec2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<vec3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<vec4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<int, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<ivec2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<ivec3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<ivec4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<uint, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<uvec2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<uvec3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<uvec4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<boolean, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<bvec2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<bvec3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<bvec4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat2x2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat2x3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat2x4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat3x2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat3x3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat3x4, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat4x2, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat4x3, { LEN }>[src]

impl<const LEN: usize> InterfaceBlockComponent for array<mat4x4, { LEN }>[src]

Loading content...

Implementors

impl<T> InterfaceBlockComponent for T where
    T: InterfaceBlock
[src]

Loading content...