Interface UnionLayout

All Superinterfaces:
GroupLayout, MemoryLayout

public sealed interface UnionLayout extends GroupLayout
A group layout whose member layouts are laid out at the same starting offset.
Implementation Requirements:
Implementing classes are immutable, thread-safe and value-based.
Since:
22
  • Method Details

    • withName

      UnionLayout withName(String name)
      Returns a memory layout with the same characteristics as this layout, but with the given name.
      Specified by:
      withName in interface GroupLayout
      Specified by:
      withName in interface MemoryLayout
      Parameters:
      name - the layout name
      Returns:
      a memory layout with the same characteristics as this layout, but with the given name
      See Also:
    • withoutName

      UnionLayout withoutName()
      Returns a memory layout with the same characteristics as this layout, but with no name.
      Specified by:
      withoutName in interface GroupLayout
      Specified by:
      withoutName in interface MemoryLayout
      Returns:
      a memory layout with the same characteristics as this layout, but with no name
      See Also:
    • withByteAlignment

      UnionLayout withByteAlignment(long byteAlignment)
      Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).
      Specified by:
      withByteAlignment in interface GroupLayout
      Specified by:
      withByteAlignment in interface MemoryLayout
      Parameters:
      byteAlignment - the layout alignment constraint, expressed in bytes
      Returns:
      a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes)
      Throws:
      IllegalArgumentException - if byteAlignment is not a power of two
      IllegalArgumentException - if byteAlignment is less than M, where M is the maximum alignment constraint in any of the member layouts associated with this group layout