- 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 aggregates multiple 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 said to be a struct layout
(see
MemoryLayout.structLayout(MemoryLayout...)
PREVIEW); conversely, if all member layouts are laid out at the same starting offset,
the resulting group layout is said to be a union layout (see MemoryLayout.unionLayout(MemoryLayout...)
PREVIEW).- Implementation Requirements:
- This class is immutable, thread-safe and value-based.
- Since:
- 19
-
Nested Class Summary
Nested classes/interfaces declared in interface java.lang.foreign.MemoryLayoutPREVIEW
MemoryLayout.PathElementPREVIEW
-
Method Summary
Modifier and TypeMethodDescriptionReturns the member layouts associated with this group.withBitAlignment
(long bitAlignment) Returns a memory layout of the same type with the same size and name as this layout, but with the specified alignment constraint (in bits).Returns a memory layout of the same type with the same size and alignment constraint as this layout, but with the specified name.Methods declared in interface java.lang.foreign.MemoryLayoutPREVIEW
bitAlignment, bitOffset, bitOffsetHandle, bitSize, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandle
-
Method Details
-
memberLayouts
List<MemoryLayoutPREVIEW> memberLayouts()Returns the member layouts associated with this group.- 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 associated with this group.
-
withName
Returns a memory layout of the same type with the same size and alignment constraint as this layout, but with the specified name.- Specified by:
withName
in interfaceMemoryLayoutPREVIEW
- Parameters:
name
- the layout name.- Returns:
- a memory layout with the given name.
- See Also:
-
withBitAlignment
Returns a memory layout of the same type with the same size and name as this layout, but with the specified alignment constraint (in bits).- Specified by:
withBitAlignment
in interfaceMemoryLayoutPREVIEW
- Parameters:
bitAlignment
- the layout alignment constraint, expressed in bits.- Returns:
- a memory layout with the given alignment constraint.
-
GroupLayout
when preview features are enabled.