Class FFM.GroupLayoutBuilder<L extends GroupLayout, M extends GroupMapping<L>, SELF extends FFM.GroupLayoutBuilder<L,M,SELF>>

java.lang.Object
org.lwjgl.system.ffm.FFM.GroupLayoutBuilder<L,M,SELF>
Direct Known Subclasses:
FFM.GroupBinderBuilder, FFM.StructLayoutBuilder, FFM.UnionLayoutBuilder
Enclosing class:
FFM

public abstract static sealed class FFM.GroupLayoutBuilder<L extends GroupLayout, M extends GroupMapping<L>, SELF extends FFM.GroupLayoutBuilder<L,M,SELF>> extends Object permits FFM.GroupBinderBuilder<T,L,M,SELF>, FFM.StructLayoutBuilder, FFM.UnionLayoutBuilder
Base class for struct/union layout construction.
  • Constructor Details

    • GroupLayoutBuilder

      public GroupLayoutBuilder()
  • Method Details

    • automaticPadding

      public SELF automaticPadding(boolean enabled)
      Enables or disables automatic padding calculation.
    • checkPadding

      public SELF checkPadding(boolean enabled)
      Enables or disables validation of the group size with respect to its alignment.
    • pack

      public SELF pack(long alignment)
      Configures the group pack alignment.
    • alignas

      public SELF alignas(long alignment)
      Configures the group alignment.
    • m

      public SELF m(String name, DataMapping<?> mapping)
      Adds a new member to this group.
    • struct

      public SELF struct(Consumer<FFM.StructLayoutBuilder> builder)
      Adds an anonymous struct member. Its members are promoted to the scope of this group.
    • struct

      public SELF struct(String name, Consumer<FFM.StructLayoutBuilder> builder)
      Adds a named struct member without requiring a Java interface for the nested struct type.
    • union

      public SELF union(Consumer<FFM.UnionLayoutBuilder> builder)
      Adds an anonymous union member. Its members are promoted to the scope of this group.
    • union

      public SELF union(String name, Consumer<FFM.UnionLayoutBuilder> builder)
      Adds a named union member without requiring a Java interface for the nested union type.
    • padding

      public SELF padding(long padding)
      Adds padding before the next member of this group.