Record Class XrSceneComponentsMSFT

java.lang.Object
java.lang.Record
club.doki7.openxr.datatype.XrSceneComponentsMSFT
All Implemented Interfaces:
IPointer, IXrSceneComponentsMSFT

@ValueBasedCandidate @UnsafeConstructor public record XrSceneComponentsMSFT(@NotNull MemorySegment segment) extends Record implements IXrSceneComponentsMSFT

Represents a pointer to a XrSceneComponentsMSFT structure in native memory.

Structure

typedef struct XrSceneComponentsMSFT {
    XrStructureType type;
    void* next;
    uint32_t componentCapacityInput; // optional
    uint32_t componentCountOutput; // optional
    XrSceneComponentMSFT* components; // optional
} XrSceneComponentsMSFT;

Auto initialization

This structure has the following members that can be automatically initialized:

  • type = XR_TYPE_SCENE_COMPONENTS_MSFT

The allocate (allocate(Arena), allocate(Arena, long)) functions will automatically initialize these fields. Also, you may call autoInit() to initialize these fields manually for non-allocated instances.

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$type

      public static final MemoryLayout.PathElement PATH$type
    • PATH$next

      public static final MemoryLayout.PathElement PATH$next
    • PATH$componentCapacityInput

      public static final MemoryLayout.PathElement PATH$componentCapacityInput
    • PATH$componentCountOutput

      public static final MemoryLayout.PathElement PATH$componentCountOutput
    • PATH$components

      public static final MemoryLayout.PathElement PATH$components
    • LAYOUT$type

      public static final ValueLayout.OfInt LAYOUT$type
    • LAYOUT$next

      public static final AddressLayout LAYOUT$next
    • LAYOUT$componentCapacityInput

      public static final ValueLayout.OfInt LAYOUT$componentCapacityInput
    • LAYOUT$componentCountOutput

      public static final ValueLayout.OfInt LAYOUT$componentCountOutput
    • LAYOUT$components

      public static final AddressLayout LAYOUT$components
    • SIZE$type

      public static final long SIZE$type
    • SIZE$next

      public static final long SIZE$next
    • SIZE$componentCapacityInput

      public static final long SIZE$componentCapacityInput
    • SIZE$componentCountOutput

      public static final long SIZE$componentCountOutput
    • SIZE$components

      public static final long SIZE$components
    • OFFSET$type

      public static final long OFFSET$type
    • OFFSET$next

      public static final long OFFSET$next
    • OFFSET$componentCapacityInput

      public static final long OFFSET$componentCapacityInput
    • OFFSET$componentCountOutput

      public static final long OFFSET$componentCountOutput
    • OFFSET$components

      public static final long OFFSET$components
  • Constructor Details

    • XrSceneComponentsMSFT

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