- All Superinterfaces:
GroupLayoutPREVIEW,MemoryLayoutPREVIEW
UnionLayout 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 at the same starting offset.
- 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 TypeMethodDescriptionwithBitAlignment(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.Returns a memory layout of the same type with the same size and alignment constraint as this layout, but without a name.Methods declared in interface java.lang.foreign.GroupLayoutPREVIEW
memberLayoutsMethods declared in interface java.lang.foreign.MemoryLayoutPREVIEW
bitAlignment, bitOffset, bitOffsetHandle, bitSize, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandle
-
Method Details
-
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:
withNamein interfaceGroupLayoutPREVIEW- Specified by:
withNamein interfaceMemoryLayoutPREVIEW- Parameters:
name- the layout name.- Returns:
- a memory layout with the given name.
- See Also:
-
withoutName
UnionLayoutPREVIEW withoutName()Returns a memory layout of the same type with the same size and alignment constraint as this layout, but without a name.This can be useful to compare two layouts that have different names, but are otherwise equal.
- Specified by:
withoutNamein interfaceGroupLayoutPREVIEW- Specified by:
withoutNamein interfaceMemoryLayoutPREVIEW- Returns:
- a memory layout without a 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:
withBitAlignmentin interfaceGroupLayoutPREVIEW- Specified by:
withBitAlignmentin interfaceMemoryLayoutPREVIEW- Parameters:
bitAlignment- the layout alignment constraint, expressed in bits.- Returns:
- a memory layout with the given alignment constraint.
- Throws:
IllegalArgumentException- ifbitAlignmentis not a power of two, or if it's less than 8.IllegalArgumentException- ifbitAlignmentis less thanM, whereMis the maximum alignment constraint in any of the member layouts associated with this group layout.
-
UnionLayoutwhen preview features are enabled.