モジュール java.base
パッケージ java.lang.foreign

インタフェースMemoryLayout.PathElement

含まれているインタフェース:
MemoryLayoutPREVIEW

public static sealed interface MemoryLayout.PathElement
PathElementは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでPathElementを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
レイアウト・パス内の要素。 パス要素には次の3種類があります:
  • 「グループ・パスの要素」。名前または索引によって、GroupLayoutPREVIEW内のメンバー・レイアウトを選択するために使用
  • 「順序パスの要素」SequenceLayoutPREVIEW内の1つ以上のシーケンス要素レイアウトを選択するために使用
  • 「パス要素を間接参照」。アドレス・レイアウトをターゲット・レイアウトとして「参照解除」するために使用されます。
複数のシーケンス要素レイアウトを選択するシーケンス・パス要素は、「オープン・パス要素」と呼ばれます。
実装要件:
このインタフェースの実装は不変、スレッド・セーフ、およびvalue-basedです。
導入されたバージョン:
19
  • メソッドの詳細

    • groupElement

      static MemoryLayout.PathElementPREVIEW groupElement(String name)
      グループ・レイアウト内で指定された名前のメンバー・レイアウトを選択するパス要素を返します。
      実装要件:
      一致する名前を持つ複数のグループ要素が存在する場合、このメソッドによって返されるパス要素によって最初のものが選択されます。つまり、現在のパスからのオフセットが最も小さいグループ要素が選択されます。 このような場合は、groupElement(long)を使用することをお勧めします。
      パラメータ:
      name - 選択するメンバー・レイアウトの名前。
      戻り値:
      指定された名前のグループ・メンバー・レイアウトを選択するパス要素。
    • groupElement

      static MemoryLayout.PathElementPREVIEW groupElement(long index)
      グループ・レイアウト内の指定された索引を持つメンバー・レイアウトを選択するパス要素を返します。
      パラメータ:
      index - 選択するメンバー・レイアウト要素のインデックス。
      戻り値:
      指定された索引を持つグループ・メンバー・レイアウトを選択するパス要素。
      例外:
      IllegalArgumentException - index < 0の場合
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement(long index)
      順序レイアウトの指定位置にある要素レイアウトを選択するパス要素を返します。
      パラメータ:
      index - 選択する順序要素の索引。
      戻り値:
      指定された索引を持つシーケンス要素のレイアウトを選択するパス要素。
      例外:
      IllegalArgumentException - index < 0の場合
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement(long start, long step)
      順序レイアウト内の位置の「範囲」内の要素レイアウトを選択する「オープン・パス要素」を返します。 範囲は、開始索引(inclusive) Sとステップ係数(負の値を指定することもできます) Fのペアとして表されます。

      このレイアウトで選択された正確な順序要素は、索引Iとして表されます。 Cが順序要素の数である場合、0 <= I < Bに従います。ここで、Bは次のように計算されます:

      • F > 0の場合、B = ceilDiv(C - S, F)
      • F < 0の場合、B = ceilDiv(-(S + 1), -F)

      パラメータ:
      start - 選択する最初のシーケンス要素のインデックス。
      step - サブ・シーケンス・シーケンス・シーケンス要素が選択されるステップ・ファクタです。
      戻り値:
      指定された索引を持つシーケンス要素のレイアウトを選択するパス要素。
      例外:
      IllegalArgumentException - if start < 0,またはstep == 0
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement()
      順序レイアウトで未指定の要素レイアウトを選択する「オープン・パス要素」を返します。

      このレイアウトで選択された正確な順序要素は、索引Iとして表されます。 Cがシーケンス要素数の場合、0 <= I < Cに従います。

      戻り値:
      未指定の順序要素レイアウトを選択するパス要素。
    • dereferenceElement

      static MemoryLayout.PathElementPREVIEW dereferenceElement()
      アドレス・レイアウトを「ターゲット・レイアウト」PREVIEW (場所セット)として間接参照するパス要素を返します。
      戻り値:
      アドレス・レイアウトを間接参照するパス要素。