- All Superinterfaces:
GroupLayoutPREVIEW,MemoryLayoutPREVIEW
StructLayout 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 group layout whose member layouts are laid out one after the other.
- Implementation Requirements:
- Implementing classes are immutable, thread-safe and value-based.
- Since:
- 20
-
Nested Class Summary
Nested classes/interfaces declared in interface java.lang.foreign.MemoryLayoutPREVIEW
MemoryLayout.PathElementPREVIEW -
Method Summary
Modifier and TypeMethodDescriptionwithByteAlignment(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.GroupLayoutPREVIEW
memberLayoutsMethods declared in interface java.lang.foreign.MemoryLayoutPREVIEW
byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandle
-
Method Details
-
withName
Returns a memory layout with the same characteristics as this layout, but with the given name.- Specified by:
withNamein interfaceGroupLayoutPREVIEW- Specified by:
withNamein interfaceMemoryLayoutPREVIEW- Parameters:
name- the layout name.- Returns:
- a memory layout with the same characteristics as this layout, but with the given name
- See Also:
-
withoutName
StructLayoutPREVIEW withoutName()Returns a memory layout with the same characteristics as this layout, but with no name.- Specified by:
withoutNamein interfaceGroupLayoutPREVIEW- Specified by:
withoutNamein interfaceMemoryLayoutPREVIEW- Returns:
- a memory layout with the same characteristics as this layout, but with no name
- See Also:
-
withByteAlignment
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).- Specified by:
withByteAlignmentin interfaceGroupLayoutPREVIEW- Specified by:
withByteAlignmentin interfaceMemoryLayoutPREVIEW- 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- ifbyteAlignmentis not a power of two.IllegalArgumentException- ifbyteAlignmentis less thanM, whereMis the maximum alignment constraint in any of the member layouts associated with this group layout.
-
StructLayoutwhen preview features are enabled.