dds.parTextResults Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dds4j Show documentation
Show all versions of dds4j Show documentation
Wrapper around the Double Dummy Solver C++ Library.
The newest version!
// Generated by jextract
package dds;
import java.lang.invoke.*;
import java.lang.foreign.*;
import java.nio.ByteOrder;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
import static java.lang.foreign.ValueLayout.*;
import static java.lang.foreign.MemoryLayout.PathElement.*;
/**
* {@snippet lang=c :
* struct parTextResults {
* char parText[2][128];
* bool equal;
* }
* }
*/
public class parTextResults {
parTextResults() {
// Should not be called directly
}
private static final GroupLayout $LAYOUT = MemoryLayout.structLayout(
MemoryLayout.sequenceLayout(2, MemoryLayout.sequenceLayout(128, Dds.C_CHAR)).withName("parText"),
Dds.C_BOOL.withName("equal")
).withName("parTextResults");
/**
* The layout of this struct
*/
public static final GroupLayout layout() {
return $LAYOUT;
}
private static final SequenceLayout parText$LAYOUT = (SequenceLayout)$LAYOUT.select(groupElement("parText"));
/**
* Layout for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static final SequenceLayout parText$layout() {
return parText$LAYOUT;
}
private static final long parText$OFFSET = 0;
/**
* Offset for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static final long parText$offset() {
return parText$OFFSET;
}
/**
* Getter for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static MemorySegment parText(MemorySegment struct) {
return struct.asSlice(parText$OFFSET, parText$LAYOUT.byteSize());
}
/**
* Setter for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static void parText(MemorySegment struct, MemorySegment fieldValue) {
MemorySegment.copy(fieldValue, 0L, struct, parText$OFFSET, parText$LAYOUT.byteSize());
}
private static long[] parText$DIMS = { 2, 128 };
/**
* Dimensions for array field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static long[] parText$dimensions() {
return parText$DIMS;
}
private static final VarHandle parText$ELEM_HANDLE = parText$LAYOUT.varHandle(sequenceElement(), sequenceElement());
/**
* Indexed getter for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static byte parText(MemorySegment struct, long index0, long index1) {
return (byte)parText$ELEM_HANDLE.get(struct, 0L, index0, index1);
}
/**
* Indexed setter for field:
* {@snippet lang=c :
* char parText[2][128]
* }
*/
public static void parText(MemorySegment struct, long index0, long index1, byte fieldValue) {
parText$ELEM_HANDLE.set(struct, 0L, index0, index1, fieldValue);
}
private static final OfBoolean equal$LAYOUT = (OfBoolean)$LAYOUT.select(groupElement("equal"));
/**
* Layout for field:
* {@snippet lang=c :
* bool equal
* }
*/
public static final OfBoolean equal$layout() {
return equal$LAYOUT;
}
private static final long equal$OFFSET = 256;
/**
* Offset for field:
* {@snippet lang=c :
* bool equal
* }
*/
public static final long equal$offset() {
return equal$OFFSET;
}
/**
* Getter for field:
* {@snippet lang=c :
* bool equal
* }
*/
public static boolean equal(MemorySegment struct) {
return struct.get(equal$LAYOUT, equal$OFFSET);
}
/**
* Setter for field:
* {@snippet lang=c :
* bool equal
* }
*/
public static void equal(MemorySegment struct, boolean fieldValue) {
struct.set(equal$LAYOUT, equal$OFFSET, fieldValue);
}
/**
* Obtains a slice of {@code arrayParam} which selects the array element at {@code index}.
* The returned segment has address {@code arrayParam.address() + index * layout().byteSize()}
*/
public static MemorySegment asSlice(MemorySegment array, long index) {
return array.asSlice(layout().byteSize() * index);
}
/**
* The size (in bytes) of this struct
*/
public static long sizeof() { return layout().byteSize(); }
/**
* Allocate a segment of size {@code layout().byteSize()} using {@code allocator}
*/
public static MemorySegment allocate(SegmentAllocator allocator) {
return allocator.allocate(layout());
}
/**
* Allocate an array of size {@code elementCount} using {@code allocator}.
* The returned segment has size {@code elementCount * layout().byteSize()}.
*/
public static MemorySegment allocateArray(long elementCount, SegmentAllocator allocator) {
return allocator.allocate(MemoryLayout.sequenceLayout(elementCount, layout()));
}
/**
* Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction) (if any).
* The returned segment has size {@code layout().byteSize()}
*/
public static MemorySegment reinterpret(MemorySegment addr, Arena arena, Consumer cleanup) {
return reinterpret(addr, 1, arena, cleanup);
}
/**
* Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction) (if any).
* The returned segment has size {@code elementCount * layout().byteSize()}
*/
public static MemorySegment reinterpret(MemorySegment addr, long elementCount, Arena arena, Consumer cleanup) {
return addr.reinterpret(layout().byteSize() * elementCount, arena, cleanup);
}
}