Record Class ShadercIncludeResult

java.lang.Object
java.lang.Record
club.doki7.shaderc.datatype.ShadercIncludeResult
All Implemented Interfaces:
IPointer, IShadercIncludeResult

@ValueBasedCandidate @UnsafeConstructor public record ShadercIncludeResult(@NotNull MemorySegment segment) extends Record implements IShadercIncludeResult

Represents a pointer to a shaderc_include_result structure in native memory.

Structure

typedef struct shaderc_include_result {
    char const* sourceName;
    size_t sourceNameLength;
    char const* content;
    size_t contentLength;
    void* userData;
} shaderc_include_result;

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.

  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$sourceName

      public static final MemoryLayout.PathElement PATH$sourceName
    • PATH$sourceNameLength

      public static final MemoryLayout.PathElement PATH$sourceNameLength
    • PATH$content

      public static final MemoryLayout.PathElement PATH$content
    • PATH$contentLength

      public static final MemoryLayout.PathElement PATH$contentLength
    • PATH$userData

      public static final MemoryLayout.PathElement PATH$userData
    • LAYOUT$sourceName

      public static final AddressLayout LAYOUT$sourceName
    • LAYOUT$content

      public static final AddressLayout LAYOUT$content
    • LAYOUT$userData

      public static final AddressLayout LAYOUT$userData
    • SIZE$sourceName

      public static final long SIZE$sourceName
    • SIZE$sourceNameLength

      public static final long SIZE$sourceNameLength
    • SIZE$content

      public static final long SIZE$content
    • SIZE$contentLength

      public static final long SIZE$contentLength
    • SIZE$userData

      public static final long SIZE$userData
    • OFFSET$sourceName

      public static final long OFFSET$sourceName
    • OFFSET$sourceNameLength

      public static final long OFFSET$sourceNameLength
    • OFFSET$content

      public static final long OFFSET$content
    • OFFSET$contentLength

      public static final long OFFSET$contentLength
    • OFFSET$userData

      public static final long OFFSET$userData
  • Constructor Details

    • ShadercIncludeResult

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