インタフェースGroupLayout

すべてのスーパー・インタフェース:
MemoryLayout
既知のすべてのサブインタフェース:
StructLayout, UnionLayout

public sealed interface GroupLayout extends MemoryLayout permits StructLayout, UnionLayout
複数の異種「メンバー・レイアウト」の集計である複合レイアウト。 メンバー・レイアウトを結合する方法は2つあります: メンバー・レイアウトが順番にレイアウトされている場合、結果のグループ・レイアウトは「構造体レイアウト」になります。逆に、すべてのメンバー・レイアウトが同じ開始オフセットでレイアウトされている場合、結果のグループ・レイアウトは「共用体レイアウト」になります。
実装要件:
このクラスは、不変、スレッド・セーフおよびvalue-basedです。
シール済クラス階層グラフ:
GroupLayoutの密封されたクラス階層グラフGroupLayoutの密封されたクラス階層グラフ
導入されたバージョン:
22
  • メソッドの詳細

    • memberLayouts

      List<MemoryLayout> memberLayouts()
      このグループ・レイアウトのメンバー・レイアウトを返します。
      APIのノート:
      メンバー・レイアウトが返される順序は、グループ・レイアウト・ファクトリ・メソッド(「MemoryLayout.structLayout(MemoryLayout...)およびMemoryLayout.unionLayout(MemoryLayout...)」を参照)のいずれかにメンバー・レイアウトが渡された順序と同じです。
      戻り値:
      このグループ・レイアウトのメンバー・レイアウト
    • withName

      GroupLayout withName(String name)
      このレイアウトと同じ特性を持つメモリー・レイアウトを、指定された名前で返します。
      定義:
      インタフェースMemoryLayout内のwithName
      パラメータ:
      name - レイアウト名
      戻り値:
      このレイアウトと同じ特性を持つが、指定された名前を持つメモリー・レイアウト
      関連項目:
    • withoutName

      GroupLayout withoutName()
      このレイアウトと同じ特性を持つメモリー・レイアウトを名前なしで返します。
      定義:
      インタフェースMemoryLayout内のwithoutName
      戻り値:
      このレイアウトと同じ特性を持つが名前のないメモリー・レイアウト
      関連項目:
    • withByteAlignment

      GroupLayout withByteAlignment(long byteAlignment)
      このレイアウトと同じ特性を持つメモリー・レイアウトを返しますが、指定された整列制約(バイト単位)を使用します。
      定義:
      インタフェースMemoryLayout内のwithByteAlignment
      パラメータ:
      byteAlignment - レイアウト整列制約(バイト単位)
      戻り値:
      このレイアウトと同じ特性を持つメモリー・レイアウト。ただし、指定された整列制約(バイト単位)
      例外:
      IllegalArgumentException - byteAlignmentが2の累乗でない場合
      IllegalArgumentException - byteAlignmentMより小さい場合。ここで、Mは、このグループ・レイアウトに関連付けられているメンバー・レイアウトの最大整列制約です。