Record Class VkApplicationInfo
- All Implemented Interfaces:
IPointer,IVkApplicationInfo
Represents a pointer to a VkApplicationInfo structure in native memory.
Structure
typedef struct VkApplicationInfo {
VkStructureType sType;
void const* pNext; // optional
char const* pApplicationName; // optional
uint32_t applicationVersion;
char const* pEngineName; // optional
uint32_t engineVersion;
uint32_t apiVersion;
} VkApplicationInfo;
Auto initialization
This structure has the following members that can be automatically initialized:
sType = VK_STRUCTURE_TYPE_APPLICATION_INFO
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordRepresents a pointer to / an array ofVkApplicationInfostructure(s) in native memory. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longstatic final StructLayoutstatic final ValueLayout.OfIntstatic final ValueLayout.OfIntstatic final ValueLayout.OfIntstatic final AddressLayoutstatic final AddressLayoutstatic final AddressLayoutstatic final ValueLayout.OfIntstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final long -
Constructor Summary
ConstructorsConstructorDescriptionVkApplicationInfo(@NotNull MemorySegment segment) Creates an instance of aVkApplicationInforecord class. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkApplicationInfostatic VkApplicationInfo.PtrintapiVersion(int value) intapplicationVersion(int value) voidautoInit()static VkApplicationInfoclone(Arena arena, VkApplicationInfo src) intengineVersion(int value) final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.@Nullable BytePtrNote: the returnedBytePtrdoes not have correctBytePtr.size()property.pApplicationName(@Nullable BytePtr value) @NotNull MemorySegmentvoidpApplicationNameRaw(@NotNull MemorySegment value) @Nullable BytePtrNote: the returnedBytePtrdoes not have correctBytePtr.size()property.pEngineName(@Nullable BytePtr value) @NotNull MemorySegmentvoidpEngineNameRaw(@NotNull MemorySegment value) @NotNull MemorySegmentpNext()pNext(@NotNull MemorySegment value) @NotNull MemorySegmentsegment()Returns the value of thesegmentrecord component.intsType()sType(int value) final StringtoString()Returns a string representation of this record class.
-
Field Details
-
LAYOUT
-
BYTES
public static final long BYTES -
PATH$sType
-
PATH$pNext
-
PATH$pApplicationName
-
PATH$applicationVersion
-
PATH$pEngineName
-
PATH$engineVersion
-
PATH$apiVersion
-
LAYOUT$sType
-
LAYOUT$pNext
-
LAYOUT$pApplicationName
-
LAYOUT$applicationVersion
-
LAYOUT$pEngineName
-
LAYOUT$engineVersion
-
LAYOUT$apiVersion
-
SIZE$sType
public static final long SIZE$sType -
SIZE$pNext
public static final long SIZE$pNext -
SIZE$pApplicationName
public static final long SIZE$pApplicationName -
SIZE$applicationVersion
public static final long SIZE$applicationVersion -
SIZE$pEngineName
public static final long SIZE$pEngineName -
SIZE$engineVersion
public static final long SIZE$engineVersion -
SIZE$apiVersion
public static final long SIZE$apiVersion -
OFFSET$sType
public static final long OFFSET$sType -
OFFSET$pNext
public static final long OFFSET$pNext -
OFFSET$pApplicationName
public static final long OFFSET$pApplicationName -
OFFSET$applicationVersion
public static final long OFFSET$applicationVersion -
OFFSET$pEngineName
public static final long OFFSET$pEngineName -
OFFSET$engineVersion
public static final long OFFSET$engineVersion -
OFFSET$apiVersion
public static final long OFFSET$apiVersion
-
-
Constructor Details
-
VkApplicationInfo
Creates an instance of aVkApplicationInforecord class.- Parameters:
segment- the value for thesegmentrecord component
-
-
Method Details
-
allocate
-
allocate
-
clone
-
autoInit
public void autoInit() -
sType
-
sType
-
pNext
-
pNext
-
pNext
-
pApplicationName
Note: the returnedBytePtrdoes not have correctBytePtr.size()property. It's up to user to track the size of the buffer, and useBytePtr.reinterpret(long)to set the size before actually reading from or writing to the buffer. -
pApplicationName
-
pApplicationNameRaw
-
pApplicationNameRaw
-
applicationVersion
-
applicationVersion
-
pEngineName
Note: the returnedBytePtrdoes not have correctBytePtr.size()property. It's up to user to track the size of the buffer, and useBytePtr.reinterpret(long)to set the size before actually reading from or writing to the buffer. -
pEngineName
-
pEngineNameRaw
-
pEngineNameRaw
-
engineVersion
-
engineVersion
-
apiVersion
-
apiVersion
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
segment
Returns the value of thesegmentrecord component.
-