Record Class XrApiLayerCreateInfo

java.lang.Object
java.lang.Record
club.doki7.openxr.datatype.XrApiLayerCreateInfo
All Implemented Interfaces:
IPointer, IXrApiLayerCreateInfo

@ValueBasedCandidate @UnsafeConstructor public record XrApiLayerCreateInfo(@NotNull MemorySegment segment) extends Record implements IXrApiLayerCreateInfo

Represents a pointer to a XrApiLayerCreateInfo structure in native memory.

Structure

typedef struct XrApiLayerCreateInfo {
    XrLoaderInterfaceStructs structType;
    uint32_t structVersion;
    size_t structSize;
    void* loaderInstance;
    char[XR_API_LAYER_MAX_SETTINGS_PATH_SIZE] settings_file_location;
    XrApiLayerNextInfo* nextInfo;
} XrApiLayerCreateInfo;

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also:
  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$structType

      public static final MemoryLayout.PathElement PATH$structType
    • PATH$structVersion

      public static final MemoryLayout.PathElement PATH$structVersion
    • PATH$structSize

      public static final MemoryLayout.PathElement PATH$structSize
    • PATH$loaderInstance

      public static final MemoryLayout.PathElement PATH$loaderInstance
    • PATH$settings_file_location

      public static final MemoryLayout.PathElement PATH$settings_file_location
    • PATH$nextInfo

      public static final MemoryLayout.PathElement PATH$nextInfo
    • LAYOUT$structType

      public static final ValueLayout.OfInt LAYOUT$structType
    • LAYOUT$structVersion

      public static final ValueLayout.OfInt LAYOUT$structVersion
    • LAYOUT$loaderInstance

      public static final AddressLayout LAYOUT$loaderInstance
    • LAYOUT$settings_file_location

      public static final SequenceLayout LAYOUT$settings_file_location
    • LAYOUT$nextInfo

      public static final AddressLayout LAYOUT$nextInfo
    • SIZE$structType

      public static final long SIZE$structType
    • SIZE$structVersion

      public static final long SIZE$structVersion
    • SIZE$structSize

      public static final long SIZE$structSize
    • SIZE$loaderInstance

      public static final long SIZE$loaderInstance
    • SIZE$settings_file_location

      public static final long SIZE$settings_file_location
    • SIZE$nextInfo

      public static final long SIZE$nextInfo
    • OFFSET$structType

      public static final long OFFSET$structType
    • OFFSET$structVersion

      public static final long OFFSET$structVersion
    • OFFSET$structSize

      public static final long OFFSET$structSize
    • OFFSET$loaderInstance

      public static final long OFFSET$loaderInstance
    • OFFSET$settings_file_location

      public static final long OFFSET$settings_file_location
    • OFFSET$nextInfo

      public static final long OFFSET$nextInfo
  • Constructor Details

    • XrApiLayerCreateInfo

      public XrApiLayerCreateInfo(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a XrApiLayerCreateInfo record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details