Interface GroupLayout
- All Superinterfaces:
- MemoryLayout
- All Known Subinterfaces:
- StructLayout,- UnionLayout
A compound layout that is an aggregation of multiple, heterogeneous
 member layouts. There are two ways in which member layouts can be combined:
 if member layouts are laid out one after the other, the resulting group layout is a
 struct layout; conversely, if all member layouts are laid
 out at the same starting offset, the resulting group layout is a
 union layout.
- Implementation Requirements:
- This class is immutable, thread-safe and value-based.
- Sealed Class Hierarchy Graph:
- Since:
- 22
- 
Nested Class SummaryNested classes/interfaces declared in interface java.lang.foreign.MemoryLayoutMemoryLayout.PathElement
- 
Method SummaryModifier and TypeMethodDescriptionReturns the member layouts of this group layout.withByteAlignment(long byteAlignment) Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).Returns a memory layout with the same characteristics as this layout, but with the given name.Returns a memory layout with the same characteristics as this layout, but with no name.Methods declared in interface java.lang.foreign.MemoryLayoutarrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle
- 
Method Details- 
memberLayoutsList<MemoryLayout> memberLayouts()Returns the member layouts of this group layout.- API Note:
- the order in which member layouts are returned is the same order in which
          member layouts have been passed to one of the group layout factory methods
          (see MemoryLayout.structLayout(MemoryLayout...)andMemoryLayout.unionLayout(MemoryLayout...)).
- Returns:
- the member layouts of this group layout
 
- 
withNameReturns a memory layout with the same characteristics as this layout, but with the given name.- Specified by:
- withNamein 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:
 
- 
withoutNameGroupLayout withoutName()Returns a memory layout with the same characteristics as this layout, but with no name.- Specified by:
- withoutNamein interface- MemoryLayout
- Returns:
- a memory layout with the same characteristics as this layout, but with no name
- See Also:
 
- 
withByteAlignmentReturns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).- Specified by:
- withByteAlignmentin 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- byteAlignmentis not a power of two
- IllegalArgumentException- if- byteAlignmentis less than- M, where- Mis the maximum alignment constraint in any of the member layouts associated with this group layout
 
 
-