Package Summary Overview Summary

### class:GroupLayout [NONE]
All Superinterfaces: `MemoryLayout` All Known Subinterfaces: `StructLayout`, `UnionLayout` public sealed interface GroupLayout extends MemoryLayout permits 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 . Since: 22 Implementation Requirements: This class is immutable, thread-safe and value-based. Sealed Graph:

### method:memberLayouts() [NONE]
### memberLayouts List<MemoryLayout> memberLayouts() Returns the member layouts of this group layout. 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...)`, `MemoryLayout.unionLayout(MemoryLayout...)`).

### method:withName(java.lang.String) [NONE]
### withName GroupLayout withName (String name) Returns a memory layout with the same characteristics as this layout, but with the given name. Specified by: `withName` in 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: `MemoryLayout.name()`

### method:withoutName() [NONE]
### withoutName GroupLayout withoutName() Returns a memory layout with the same characteristics as this layout, but with no name. Specified by: `withoutName` in interface `MemoryLayout` Returns: a memory layout with the same characteristics as this layout, but with no name See Also: `MemoryLayout.name()`

### method:withByteAlignment(long) [NONE]
### withByteAlignment GroupLayout withByteAlignment (long byteAlignment) Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes). Specified by: `withByteAlignment` in 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 `byteAlignment` is not a power of two. `IllegalArgumentException` - if `byteAlignment` is less than `M`, where `M` is the maximum alignment constraint in any of the member layouts associated with this group layout.