インタフェースjdk.incubator.foreign.MemoryLayoutの
使用
-
jdk.incubator.foreignでのMemoryLayoutの使用
修飾子と型クラス説明final class
グループ・レイアウトは、複数の「メンバー・レイアウト」を結合するために使用します。final class
順序レイアウト。final class
値レイアウト。修飾子と型フィールド説明static final MemoryLayout
CLinker.C_VA_LIST
va_list
C型のレイアウトstatic final MemoryLayout
MemoryLayouts.PAD_16
サイズが2バイトのパディング・レイアウトの定数です。static final MemoryLayout
MemoryLayouts.PAD_32
サイズが4バイトのパディング・レイアウトの定数です。static final MemoryLayout
MemoryLayouts.PAD_64
サイズが8バイトのパディング・レイアウト定数。static final MemoryLayout
MemoryLayouts.PAD_8
サイズが1バイトのパディング・レイアウトの定数です。修飾子と型メソッド説明static <T extends MemoryLayout>
TCLinker.asVarArg
(T layout) 特殊な関数記述子で可変引数のレイアウトとして使用するのに適したメモリー・レイアウトを返します。修飾子と型メソッド説明SequenceLayout.elementLayout()
この順序レイアウトに関連付けられた要素レイアウトを返します。default MemoryLayout
MemoryLayout.map
(UnaryOperator<MemoryLayout> op, MemoryLayout.PathElement... elements) このレイアウトのルートにあるパスから選択したレイアウトが、指定された操作の適用結果で置き換えられるこのレイアウトの変換済コピーが作成されます。static MemoryLayout
MemoryLayout.paddingLayout
(long size) 指定したサイズで新しいパディング・レイアウトを作成します。default MemoryLayout
MemoryLayout.select
(MemoryLayout.PathElement... elements) このレイアウトのルートとなっているパスからレイアウトを選択します。MemoryLayout.withAttribute
(String name, Constable value) このレイアウトと同じ属性と新しく指定された属性を持つ新しいメモリー・レイアウトを返します。MemoryLayout.withBitAlignment
(long bitAlignment) 目的の位置合せ制約を機能する新しいレイアウトを作成します。必要なレイアウトnameが機能する新しいレイアウトを作成します。修飾子と型メソッド説明FunctionDescriptor.argumentLayouts()
この関数に関連付けられた引数のレイアウトを返します。Optional<? extends DynamicConstantDesc<? extends MemoryLayout>>
MemoryLayout.describeConstable()
GroupLayout.memberLayouts()
このグループに関連付けられたメンバー・レイアウトを返します。FunctionDescriptor.returnLayout()
この関数に関連付けられた戻りレイアウトを返します。修飾子と型メソッド説明default MemorySegment
SegmentAllocator.allocate
(MemoryLayout layout) 指定されたレイアウトでメモリー・ブロックを割り当てます。default MemorySegment
SegmentAllocator.allocateArray
(MemoryLayout elementLayout, long count) 指定された要素のレイアウトとサイズを持つ配列に対応するメモリーのブロックを割り当てます。static MemorySegment
MemorySegment.allocateNative
(MemoryLayout layout, ResourceScope scope) 指定されたレイアウトおよびリソース・スコープを持つ、オフ・ヒープ・メモリーの新しく割り当てられたブロックをモデル化する、新しい限定されたネイティブ・メモリー・セグメントを作成します。MemorySegment.elements
(MemoryLayout elementLayout) このセグメント内の分離スライス(指定したレイアウトのサイズと一致するサイズ)に対して連続したStream
を返します。static FunctionDescriptor
FunctionDescriptor.of
(MemoryLayout resLayout, MemoryLayout... argLayouts) 指定された戻り値と引数のレイアウトで関数記述子を作成します。static FunctionDescriptor
FunctionDescriptor.ofVoid
(MemoryLayout... argLayouts) 指定された引数のレイアウトで戻り値のない関数記述子を作成します。static SequenceLayout
MemoryLayout.sequenceLayout
(long elementCount, MemoryLayout elementLayout) 指定された要素レイアウトおよび要素数を使用して、新規順序レイアウトを作成します。static SequenceLayout
MemoryLayout.sequenceLayout
(MemoryLayout elementLayout) バインドなし要素カウントと指定された要素レイアウトを使用して、新しい順序レイアウトを作成します。void
CLinker.VaList.skip
(MemoryLayout... layouts) 指定されたメモリー・レイアウトのいくつかの要素をスキップし、このvaリストの位置を進めます。MemorySegment.spliterator
(MemoryLayout elementLayout) このメモリー・セグメントのスプリッテレータを返します。static GroupLayout
MemoryLayout.structLayout
(MemoryLayout... elements) 指定したメンバー・レイアウトで新しい「構造体」グループ・レイアウトを作成します。static GroupLayout
MemoryLayout.unionLayout
(MemoryLayout... elements) 指定したメンバー・レイアウトで新しいunionグループ・レイアウトを作成します。CLinker.VaList.vargAsAddress
(MemoryLayout layout) 次の値をMemoryAddress
として読み取り、このvaリストの位置を進めます。double
CLinker.VaList.vargAsDouble
(MemoryLayout layout) 次の値をdouble
として読み取り、このvaリストの位置を進めます。int
CLinker.VaList.vargAsInt
(MemoryLayout layout) 次の値をint
として読み取り、このvaリストの位置を進めます。long
CLinker.VaList.vargAsLong
(MemoryLayout layout) 次の値をlong
として読み取り、このvaリストの位置を進めます。CLinker.VaList.vargAsSegment
(MemoryLayout layout, ResourceScope scope) 次の値をMemorySegment
として読み取り、このvaリストの位置を進めます。CLinker.VaList.vargAsSegment
(MemoryLayout layout, SegmentAllocator allocator) 次の値をMemorySegment
として読み取り、このvaリストの位置を進めます。FunctionDescriptor.withAppendedArgumentLayouts
(MemoryLayout... addedLayouts) 指定された引数レイアウトをこの関数記述子の引数レイアウト配列に追加して、新しい関数記述子を作成します。FunctionDescriptor.withReturnLayout
(MemoryLayout newReturn) 指定されたメモリー・レイアウトを使用して、新しい関数記述子を新しい戻りレイアウトとして作成します。修飾子と型メソッド説明default MemoryLayout
MemoryLayout.map
(UnaryOperator<MemoryLayout> op, MemoryLayout.PathElement... elements) このレイアウトのルートにあるパスから選択したレイアウトが、指定された操作の適用結果で置き換えられるこのレイアウトの変換済コピーが作成されます。