インタフェースStructLayout
- すべてのスーパー・インタフェース:
GroupLayout, MemoryLayout
public sealed interface StructLayout extends GroupLayout
メンバー・レイアウトが次々にレイアウトされるグループ・レイアウト。
- 実装要件:
- クラスの実装は、不変、スレッド・セーフおよびvalue-basedです。
- 導入されたバージョン:
- 22
-
ネストされたクラスのサマリー
インタフェースで宣言されたネストされたクラス/インタフェース MemoryLayout
MemoryLayout.PathElement -
メソッドのサマリー
修飾子と型メソッド説明withByteAlignment(long byteAlignment) このレイアウトと同じ特性を持つメモリー・レイアウトを返しますが、指定された整列制約(バイト単位)を使用します。このレイアウトと同じ特性を持つメモリー・レイアウトを、指定された名前で返します。このレイアウトと同じ特性を持つメモリー・レイアウトを名前なしで返します。インタフェースで宣言されたメソッド GroupLayout
memberLayoutsインタフェースで宣言されたメソッド MemoryLayout
arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle修飾子と型メソッド説明arrayElementVarHandle(MemoryLayout.PathElement... elements) 指定されたレイアウト・パスによって選択されたオフセットでメモリー・セグメント内の隣接する要素にアクセスするvarハンドルを作成します。アクセスされた要素にはこのレイアウトがあり、パスの初期レイアウトはこのレイアウトです。longこのレイアウトに関連付けられているバイト単位の配置制約を返します。longbyteOffset(MemoryLayout.PathElement... elements) 指定されたレイアウト・パスによって選択されたレイアウトのオフセットをバイト数で計算します。パス内の初期レイアウトはこのレイアウトです。byteOffsetHandle(MemoryLayout.PathElement... elements) 指定されたレイアウト・パスによって選択されたレイアウトのオフセット(バイト)を計算するメソッド・ハンドルを作成します。パス内の初期レイアウトはこのレイアウトです。longbyteSize()レイアウト・サイズをバイト単位で返します。boolean指定されたオブジェクトをこのレイアウトと比較し、等価性を維持します。inthashCode()このレイアウトのハッシュ・コード値を返します。name()このレイアウトに関連付けられている名前(もしあれば)を返します。longscale(long offset, long index) offset + (byteSize() * index)を返します。このレイアウトでMemoryLayout.scale(long, long)を呼び出すために使用できるメソッド・ハンドルを返します。select(MemoryLayout.PathElement... elements) 指定されたパスから選択されたレイアウトを返します。パス内の初期レイアウトはこのレイアウトです。sliceHandle(MemoryLayout.PathElement... elements) メモリー・セグメントを指定して、指定されたレイアウト・パスによって選択されたレイアウトに対応するsliceを返すメソッド・ハンドルを作成します。パス内の初期レイアウトはこのレイアウトです。toString()このレイアウトの文字列表現を返します。varHandle(MemoryLayout.PathElement... elements) 指定されたレイアウト・パスによって選択されたオフセットでメモリー・セグメントにアクセスするvarハンドルを作成します。パス内の初期レイアウトはこのレイアウトになります。
-
メソッドの詳細
-
withName
StructLayout withName(String name) このレイアウトと同じ特性を持つメモリー・レイアウトを、指定された名前で返します。- 定義:
- インタフェース
GroupLayout内のwithName - 定義:
- インタフェース
MemoryLayout内のwithName - パラメータ:
name- レイアウト名- 戻り値:
- このレイアウトと同じ特性を持つが、指定された名前を持つメモリー・レイアウト
- 関連項目:
-
withoutName
StructLayout withoutName()このレイアウトと同じ特性を持つメモリー・レイアウトを名前なしで返します。- 定義:
- インタフェース
GroupLayout内のwithoutName - 定義:
- インタフェース
MemoryLayout内のwithoutName - 戻り値:
- このレイアウトと同じ特性を持つが名前のないメモリー・レイアウト
- 関連項目:
-
withByteAlignment
StructLayout withByteAlignment(long byteAlignment) このレイアウトと同じ特性を持つメモリー・レイアウトを返しますが、指定された整列制約(バイト単位)を使用します。- 定義:
- インタフェース
GroupLayout内のwithByteAlignment - 定義:
- インタフェース
MemoryLayout内のwithByteAlignment - パラメータ:
byteAlignment- レイアウト整列制約(バイト単位)- 戻り値:
- このレイアウトと同じ特性を持つメモリー・レイアウト。ただし、指定された整列制約(バイト単位)
- スロー:
IllegalArgumentException-byteAlignmentが2の累乗でない場合IllegalArgumentException-byteAlignmentがMより小さい場合。ここで、Mは、このグループ・レイアウトに関連付けられているメンバー・レイアウトの最大整列制約です。
-