- All Superinterfaces:
- MemoryLayoutPREVIEW
- All Known Subinterfaces:
- StructLayoutPREVIEW,- UnionLayoutPREVIEW
public sealed interface GroupLayout
extends MemoryLayoutPREVIEW
permits StructLayoutPREVIEW, UnionLayoutPREVIEW
GroupLayout is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
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 layoutPREVIEW; conversely, if all member layouts are laid out at the same starting offset,
 the resulting group layout is a union layoutPREVIEW.
- Implementation Requirements:
- This class is immutable, thread-safe and value-based.
- Sealed Class Hierarchy Graph:
- Since:
- 19
- 
Nested Class SummaryNested classes/interfaces declared in interface java.lang.foreign.MemoryLayoutPREVIEWMemoryLayout.PathElementPREVIEW
- 
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.MemoryLayoutPREVIEWbyteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandle
- 
Method Details- 
memberLayoutsList<MemoryLayoutPREVIEW> 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...)PREVIEW,MemoryLayout.unionLayout(MemoryLayout...)PREVIEW).
- 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- MemoryLayoutPREVIEW
- Parameters:
- name- the layout name.
- Returns:
- a memory layout with the same characteristics as this layout, but with the given name
- See Also:
 
- 
withoutNameGroupLayoutPREVIEW withoutName()Returns a memory layout with the same characteristics as this layout, but with no name.- Specified by:
- withoutNamein interface- MemoryLayoutPREVIEW
- 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- MemoryLayoutPREVIEW
- 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.
 
 
- 
GroupLayoutwhen preview features are enabled.