Интерфейс MemoryLayout.PathElement
- Вложенный интерфейс:
MemoryLayout
public static sealed interface MemoryLayout.PathElement
-
элементы пути группы, используемые для выбора разметки члена внутри
GroupLayout, либо по имени, либо по индексу; -
элементы пути последовательности, используемые для выбора одной или нескольких разметки элементов последовательности внутри
SequenceLayout; и - элементы пути разыменования, используемые для разыменования разметки адреса в качестве целевой разметки.
- Требования к реализации:
- Реализации этого интерфейса являются неизменяемыми, потокобезопасными и базирующимися на значении.
- С:
- 22
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static MemoryLayout.PathElement |
dereferenceElement() |
Возвращает элемент пути, который выбирает целевую разметку разметки адреса (если задана). |
static MemoryLayout.PathElement |
groupElement |
Возвращает элемент пути, который выбирает разметку члена с заданным индексом в разметке группы. |
static MemoryLayout.PathElement |
groupElement |
Возвращает элемент пути, который выбирает разметку члена с заданным именем в разметке группы. |
static MemoryLayout.PathElement |
sequenceElement() |
Возвращает открытый элемент пути, который выбирает неопределённый элемент разметки в разметке последовательности. |
static MemoryLayout.PathElement |
sequenceElement |
Возвращает элемент пути, который выбирает элемент разметки по заданному индексу в разметке последовательности. |
static MemoryLayout.PathElement |
sequenceElement |
Возвращает открытый элемент пути, который выбирает элемент разметки в диапазоне позиций в разметке последовательности. |
Подробное описание методов
groupElement
static MemoryLayout.PathElement groupElement(String name)
- Требования к реализации:
- в случае, если существует несколько элементов группы с совпадающим именем, элемент пути, возвращаемый этим методом, выберет первый; то есть, элемент группы с наименьшим смещением от текущего пути будет выбран. В таких случаях использование
groupElement(long)может быть предпочтительнее. - Параметры:
-
name- имя разметки члена, подлежащей выбору - Возвращает:
- элемент пути, который выбирает разметку члена с заданным именем в разметке группы
groupElement
static MemoryLayout.PathElement groupElement(long index)
- Параметры:
-
index- индекс элемента разметки члена, подлежащего выбору - Возвращает:
- элемент пути, который выбирает разметку члена с заданным индексом в разметке группы
- Исключение:
-
IllegalArgumentException- еслиindex < 0
sequenceElement
static MemoryLayout.PathElement sequenceElement(long index)
- Параметры:
-
index- индекс элемента последовательности, подлежащего выбору - Возвращает:
- элемент пути, который выбирает элемент разметки по заданному индексу в разметке последовательности
- Исключение:
-
IllegalArgumentException- еслиindex < 0
sequenceElement
static MemoryLayout.PathElement sequenceElement(long start, long step)
S и множителя шага (который также может быть отрицательным) F. Точный элемент последовательности, выбранный этой разметкой, выражается как индекс I. Если C - количество элементов последовательности, то следует, что 0 <= I < B, где B вычисляется следующим образом:
- если
F > 0, тоB = ceilDiv(C - S, F) - если
F < 0, тоB = ceilDiv(S + 1, -F)
B.- Параметры:
-
start- индекс первого элемента последовательности, подлежащего выбору -
step- множитель шага, по которому подлежат выбору последовательные элементы последовательности - Возвращает:
- элемент пути, выбирающий элемент разметки последовательности с заданным индексом.
- Исключение:
-
IllegalArgumentException- еслиstart < 0илиstep == 0
sequenceElement
static MemoryLayout.PathElement sequenceElement()
Точный элемент последовательности, выбранный этой разметкой, выражается как индекс I. Если C - количество элементов последовательности, то следует, что 0 <= I < C. То есть, C - это размер возвращаемого открытого элемента пути.
- Возвращает:
- открытый элемент пути, который выбирает неопределенный элемент разметки в разметке последовательности
dereferenceElement
static MemoryLayout.PathElement dereferenceElement()
- Возвращает:
- элемент пути, который выбирает целевую разметку разметки адреса (если задана)
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/foreign/MemoryLayout.PathElement.html