Record Class VkDescriptorUpdateTemplateEntry

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkDescriptorUpdateTemplateEntry
All Implemented Interfaces:
IPointer, IVkDescriptorUpdateTemplateEntry

@ValueBasedCandidate @UnsafeConstructor public record VkDescriptorUpdateTemplateEntry(@NotNull MemorySegment segment) extends Record implements IVkDescriptorUpdateTemplateEntry

Represents a pointer to a VkDescriptorUpdateTemplateEntry structure in native memory.

Structure

typedef struct VkDescriptorUpdateTemplateEntry {
    uint32_t dstBinding;
    uint32_t dstArrayElement;
    uint32_t descriptorCount;
    VkDescriptorType descriptorType;
    size_t offset;
    size_t stride;
} VkDescriptorUpdateTemplateEntry;

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

      public static final MemoryLayout.PathElement PATH$dstBinding
    • PATH$dstArrayElement

      public static final MemoryLayout.PathElement PATH$dstArrayElement
    • PATH$descriptorCount

      public static final MemoryLayout.PathElement PATH$descriptorCount
    • PATH$descriptorType

      public static final MemoryLayout.PathElement PATH$descriptorType
    • PATH$offset

      public static final MemoryLayout.PathElement PATH$offset
    • PATH$stride

      public static final MemoryLayout.PathElement PATH$stride
    • LAYOUT$dstBinding

      public static final ValueLayout.OfInt LAYOUT$dstBinding
    • LAYOUT$dstArrayElement

      public static final ValueLayout.OfInt LAYOUT$dstArrayElement
    • LAYOUT$descriptorCount

      public static final ValueLayout.OfInt LAYOUT$descriptorCount
    • LAYOUT$descriptorType

      public static final ValueLayout.OfInt LAYOUT$descriptorType
    • SIZE$dstBinding

      public static final long SIZE$dstBinding
    • SIZE$dstArrayElement

      public static final long SIZE$dstArrayElement
    • SIZE$descriptorCount

      public static final long SIZE$descriptorCount
    • SIZE$descriptorType

      public static final long SIZE$descriptorType
    • SIZE$offset

      public static final long SIZE$offset
    • SIZE$stride

      public static final long SIZE$stride
    • OFFSET$dstBinding

      public static final long OFFSET$dstBinding
    • OFFSET$dstArrayElement

      public static final long OFFSET$dstArrayElement
    • OFFSET$descriptorCount

      public static final long OFFSET$descriptorCount
    • OFFSET$descriptorType

      public static final long OFFSET$descriptorType
    • OFFSET$offset

      public static final long OFFSET$offset
    • OFFSET$stride

      public static final long OFFSET$stride
  • Constructor Details

    • VkDescriptorUpdateTemplateEntry

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