text: // auto-generated file
  
  void VUnpackStruct (VkBaseOutStructure*, const VUnpacker&);
  void VUnpack_VkSemaphoreCreateInfo (VkSemaphoreCreateInfo*, const VUnpacker&);
  void VUnpack_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV (VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkDescriptorUpdateTemplateEntry (VkDescriptorUpdateTemplateEntry*, const VUnpacker&);
  void VUnpack_VkPipelineTessellationDomainOriginStateCreateInfo (VkPipelineTessellationDomainOriginStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkBufferViewCreateInfo (VkBufferViewCreateInfo*, const VUnpacker&);
  void VUnpack_VkMemoryBarrier (VkMemoryBarrier*, const VUnpacker&);
  void VUnpack_VkPipelineColorBlendAttachmentState (VkPipelineColorBlendAttachmentState*, const VUnpacker&);
  void VUnpack_VkAllocationCallbacks (VkAllocationCallbacks*, const VUnpacker&);
  void VUnpack_VkPipelineInputAssemblyStateCreateInfo (VkPipelineInputAssemblyStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkExtent3D (VkExtent3D*, const VUnpacker&);
  void VUnpack_VkSparseBufferMemoryBindInfo (VkSparseBufferMemoryBindInfo*, const VUnpacker&);
  void VUnpack_VkImageFormatListCreateInfoKHR (VkImageFormatListCreateInfoKHR*, const VUnpacker&);
  void VUnpack_VkOffset2D (VkOffset2D*, const VUnpacker&);
  void VUnpack_VkMappedMemoryRange (VkMappedMemoryRange*, const VUnpacker&);
  void VUnpack_VkSubmitInfo (VkSubmitInfo*, const VUnpacker&);
  void VUnpack_VkPipelineDynamicStateCreateInfo (VkPipelineDynamicStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkSparseMemoryBind (VkSparseMemoryBind*, const VUnpacker&);
  void VUnpack_VkImageViewCreateInfo (VkImageViewCreateInfo*, const VUnpacker&);
  void VUnpack_VkPipelineTessellationStateCreateInfo (VkPipelineTessellationStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkMemoryAllocateInfo (VkMemoryAllocateInfo*, const VUnpacker&);
  void VUnpack_VkSpecializationMapEntry (VkSpecializationMapEntry*, const VUnpacker&);
  void VUnpack_VkComponentMapping (VkComponentMapping*, const VUnpacker&);
  void VUnpack_VkImageResolve (VkImageResolve*, const VUnpacker&);
  void VUnpack_VkBindSparseInfo (VkBindSparseInfo*, const VUnpacker&);
  void VUnpack_VkSparseImageOpaqueMemoryBindInfo (VkSparseImageOpaqueMemoryBindInfo*, const VUnpacker&);
  void VUnpack_VkPipelineViewportStateCreateInfo (VkPipelineViewportStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkPipelineVertexInputStateCreateInfo (VkPipelineVertexInputStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkImageSubresource (VkImageSubresource*, const VUnpacker&);
  void VUnpack_VkOffset3D (VkOffset3D*, const VUnpacker&);
  void VUnpack_VkSparseImageMemoryBind (VkSparseImageMemoryBind*, const VUnpacker&);
  void VUnpack_VkSparseImageMemoryBindInfo (VkSparseImageMemoryBindInfo*, const VUnpacker&);
  void VUnpack_VkFenceCreateInfo (VkFenceCreateInfo*, const VUnpacker&);
  void VUnpack_VkEventCreateInfo (VkEventCreateInfo*, const VUnpacker&);
  void VUnpack_VkRenderPassBeginInfo (VkRenderPassBeginInfo*, const VUnpacker&);
  void VUnpack_VkQueryPoolCreateInfo (VkQueryPoolCreateInfo*, const VUnpacker&);
  void VUnpack_VkBufferCreateInfo (VkBufferCreateInfo*, const VUnpacker&);
  void VUnpack_VkImageCreateInfo (VkImageCreateInfo*, const VUnpacker&);
  void VUnpack_VkPipelineMultisampleStateCreateInfo (VkPipelineMultisampleStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkViewport (VkViewport*, const VUnpacker&);
  void VUnpack_VkImageSubresourceRange (VkImageSubresourceRange*, const VUnpacker&);
  void VUnpack_VkShaderModuleCreateInfo (VkShaderModuleCreateInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkPipelineCacheCreateInfo (VkPipelineCacheCreateInfo*, const VUnpacker&);
  void VUnpack_VkSpecializationInfo (VkSpecializationInfo*, const VUnpacker&);
  void VUnpack_VkPipelineShaderStageCreateInfo (VkPipelineShaderStageCreateInfo*, const VUnpacker&);
  void VUnpack_VkVertexInputBindingDescription (VkVertexInputBindingDescription*, const VUnpacker&);
  void VUnpack_VkImageCopy (VkImageCopy*, const VUnpacker&);
  void VUnpack_VkVertexInputAttributeDescription (VkVertexInputAttributeDescription*, const VUnpacker&);
  void VUnpack_VkPipelineRasterizationStateCreateInfo (VkPipelineRasterizationStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkExtent2D (VkExtent2D*, const VUnpacker&);
  void VUnpack_VkRect2D (VkRect2D*, const VUnpacker&);
  void VUnpack_VkStencilOpState (VkStencilOpState*, const VUnpacker&);
  void VUnpack_VkPipelineDepthStencilStateCreateInfo (VkPipelineDepthStencilStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkCommandBufferInheritanceInfo (VkCommandBufferInheritanceInfo*, const VUnpacker&);
  void VUnpack_VkPipelineColorBlendStateCreateInfo (VkPipelineColorBlendStateCreateInfo*, const VUnpacker&);
  void VUnpack_VkGraphicsPipelineCreateInfo (VkGraphicsPipelineCreateInfo*, const VUnpacker&);
  void VUnpack_VkSamplerYcbcrConversionInfo (VkSamplerYcbcrConversionInfo*, const VUnpacker&);
  void VUnpack_VkComputePipelineCreateInfo (VkComputePipelineCreateInfo*, const VUnpacker&);
  void VUnpack_VkPushConstantRange (VkPushConstantRange*, const VUnpacker&);
  void VUnpack_VkPipelineLayoutCreateInfo (VkPipelineLayoutCreateInfo*, const VUnpacker&);
  void VUnpack_VkSamplerCreateInfo (VkSamplerCreateInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorSetLayoutBinding (VkDescriptorSetLayoutBinding*, const VUnpacker&);
  void VUnpack_VkDescriptorSetLayoutCreateInfo (VkDescriptorSetLayoutCreateInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorPoolSize (VkDescriptorPoolSize*, const VUnpacker&);
  void VUnpack_VkDescriptorPoolCreateInfo (VkDescriptorPoolCreateInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorSetAllocateInfo (VkDescriptorSetAllocateInfo*, const VUnpacker&);
  void VUnpack_VkClearValue (VkClearValue*, const VUnpacker&);
  void VUnpack_VkDescriptorImageInfo (VkDescriptorImageInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorBufferInfo (VkDescriptorBufferInfo*, const VUnpacker&);
  void VUnpack_VkWriteDescriptorSet (VkWriteDescriptorSet*, const VUnpacker&);
  void VUnpack_VkCopyDescriptorSet (VkCopyDescriptorSet*, const VUnpacker&);
  void VUnpack_VkFramebufferCreateInfo (VkFramebufferCreateInfo*, const VUnpacker&);
  void VUnpack_VkAttachmentDescription (VkAttachmentDescription*, const VUnpacker&);
  void VUnpack_VkAttachmentReference (VkAttachmentReference*, const VUnpacker&);
  void VUnpack_VkSubpassDescription (VkSubpassDescription*, const VUnpacker&);
  void VUnpack_VkSubpassDependency (VkSubpassDependency*, const VUnpacker&);
  void VUnpack_VkRenderPassCreateInfo (VkRenderPassCreateInfo*, const VUnpacker&);
  void VUnpack_VkCommandPoolCreateInfo (VkCommandPoolCreateInfo*, const VUnpacker&);
  void VUnpack_VkCommandBufferAllocateInfo (VkCommandBufferAllocateInfo*, const VUnpacker&);
  void VUnpack_VkCommandBufferBeginInfo (VkCommandBufferBeginInfo*, const VUnpacker&);
  void VUnpack_VkBufferCopy (VkBufferCopy*, const VUnpacker&);
  void VUnpack_VkImageSubresourceLayers (VkImageSubresourceLayers*, const VUnpacker&);
  void VUnpack_VkImageBlit (VkImageBlit*, const VUnpacker&);
  void VUnpack_VkBufferImageCopy (VkBufferImageCopy*, const VUnpacker&);
  void VUnpack_VkClearColorValue (VkClearColorValue*, const VUnpacker&);
  void VUnpack_VkClearDepthStencilValue (VkClearDepthStencilValue*, const VUnpacker&);
  void VUnpack_VkClearAttachment (VkClearAttachment*, const VUnpacker&);
  void VUnpack_VkClearRect (VkClearRect*, const VUnpacker&);
  void VUnpack_VkViewportSwizzleNV (VkViewportSwizzleNV*, const VUnpacker&);
  void VUnpack_VkBufferMemoryBarrier (VkBufferMemoryBarrier*, const VUnpacker&);
  void VUnpack_VkImageMemoryBarrier (VkImageMemoryBarrier*, const VUnpacker&);
  void VUnpack_VkPipelineCoverageToColorStateCreateInfoNV (VkPipelineCoverageToColorStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkShadingRatePaletteNV (VkShadingRatePaletteNV*, const VUnpacker&);
  void VUnpack_VkBindBufferMemoryInfo (VkBindBufferMemoryInfo*, const VUnpacker&);
  void VUnpack_VkBindImageMemoryInfo (VkBindImageMemoryInfo*, const VUnpacker&);
  void VUnpack_VkSubpassEndInfoKHR (VkSubpassEndInfoKHR*, const VUnpacker&);
  void VUnpack_VkMemoryDedicatedAllocateInfo (VkMemoryDedicatedAllocateInfo*, const VUnpacker&);
  void VUnpack_VkMemoryAllocateFlagsInfo (VkMemoryAllocateFlagsInfo*, const VUnpacker&);
  void VUnpack_VkDeviceGroupRenderPassBeginInfo (VkDeviceGroupRenderPassBeginInfo*, const VUnpacker&);
  void VUnpack_VkDeviceGroupCommandBufferBeginInfo (VkDeviceGroupCommandBufferBeginInfo*, const VUnpacker&);
  void VUnpack_VkDeviceGroupSubmitInfo (VkDeviceGroupSubmitInfo*, const VUnpacker&);
  void VUnpack_VkDeviceGroupBindSparseInfo (VkDeviceGroupBindSparseInfo*, const VUnpacker&);
  void VUnpack_VkBindBufferMemoryDeviceGroupInfo (VkBindBufferMemoryDeviceGroupInfo*, const VUnpacker&);
  void VUnpack_VkBindImageMemoryDeviceGroupInfo (VkBindImageMemoryDeviceGroupInfo*, const VUnpacker&);
  void VUnpack_VkSamplerReductionModeCreateInfoEXT (VkSamplerReductionModeCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkAttachmentReference2KHR (VkAttachmentReference2KHR*, const VUnpacker&);
  void VUnpack_VkInputAttachmentAspectReference (VkInputAttachmentAspectReference*, const VUnpacker&);
  void VUnpack_VkRenderPassInputAttachmentAspectCreateInfo (VkRenderPassInputAttachmentAspectCreateInfo*, const VUnpacker&);
  void VUnpack_VkImageViewUsageCreateInfo (VkImageViewUsageCreateInfo*, const VUnpacker&);
  void VUnpack_VkRenderPassMultiviewCreateInfo (VkRenderPassMultiviewCreateInfo*, const VUnpacker&);
  void VUnpack_VkRenderPassSampleLocationsBeginInfoEXT (VkRenderPassSampleLocationsBeginInfoEXT*, const VUnpacker&);
  void VUnpack_VkDeviceQueueInfo2 (VkDeviceQueueInfo2*, const VUnpacker&);
  void VUnpack_VkProtectedSubmitInfo (VkProtectedSubmitInfo*, const VUnpacker&);
  void VUnpack_VkSamplerYcbcrConversionCreateInfo (VkSamplerYcbcrConversionCreateInfo*, const VUnpacker&);
  void VUnpack_VkBindImagePlaneMemoryInfo (VkBindImagePlaneMemoryInfo*, const VUnpacker&);
  void VUnpack_VkDescriptorUpdateTemplateCreateInfo (VkDescriptorUpdateTemplateCreateInfo*, const VUnpacker&);
  void VUnpack_VkCoarseSampleLocationNV (VkCoarseSampleLocationNV*, const VUnpacker&);
  void VUnpack_VkImageSwapchainCreateInfoKHR (VkImageSwapchainCreateInfoKHR*, const VUnpacker&);
  void VUnpack_VkBindImageMemorySwapchainInfoKHR (VkBindImageMemorySwapchainInfoKHR*, const VUnpacker&);
  void VUnpack_VkVertexInputBindingDivisorDescriptionEXT (VkVertexInputBindingDivisorDescriptionEXT*, const VUnpacker&);
  void VUnpack_VkSubpassSampleLocationsEXT (VkSubpassSampleLocationsEXT*, const VUnpacker&);
  void VUnpack_VkPipelineColorBlendAdvancedStateCreateInfoEXT (VkPipelineColorBlendAdvancedStateCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkAttachmentDescription2KHR (VkAttachmentDescription2KHR*, const VUnpacker&);
  void VUnpack_VkSubpassDescription2KHR (VkSubpassDescription2KHR*, const VUnpacker&);
  void VUnpack_VkSubpassDependency2KHR (VkSubpassDependency2KHR*, const VUnpacker&);
  void VUnpack_VkRenderPassCreateInfo2KHR (VkRenderPassCreateInfo2KHR*, const VUnpacker&);
  void VUnpack_VkSubpassBeginInfoKHR (VkSubpassBeginInfoKHR*, const VUnpacker&);
  void VUnpack_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*, const VUnpacker&);
  void VUnpack_VkDedicatedAllocationMemoryAllocateInfoNV (VkDedicatedAllocationMemoryAllocateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineRasterizationStateRasterizationOrderAMD (VkPipelineRasterizationStateRasterizationOrderAMD*, const VUnpacker&);
  void VUnpack_VkDebugMarkerObjectNameInfoEXT (VkDebugMarkerObjectNameInfoEXT*, const VUnpacker&);
  void VUnpack_VkDebugMarkerMarkerInfoEXT (VkDebugMarkerMarkerInfoEXT*, const VUnpacker&);
  void VUnpack_VkDedicatedAllocationImageCreateInfoNV (VkDedicatedAllocationImageCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkDedicatedAllocationBufferCreateInfoNV (VkDedicatedAllocationBufferCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkCoarseSampleOrderCustomNV (VkCoarseSampleOrderCustomNV*, const VUnpacker&);
  void VUnpack_VkImageViewASTCDecodeModeEXT (VkImageViewASTCDecodeModeEXT*, const VUnpacker&);
  void VUnpack_VkCommandBufferInheritanceConditionalRenderingInfoEXT (VkCommandBufferInheritanceConditionalRenderingInfoEXT*, const VUnpacker&);
  void VUnpack_VkViewportWScalingNV (VkViewportWScalingNV*, const VUnpacker&);
  void VUnpack_VkPipelineViewportExclusiveScissorStateCreateInfoNV (VkPipelineViewportExclusiveScissorStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineViewportWScalingStateCreateInfoNV (VkPipelineViewportWScalingStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineViewportSwizzleStateCreateInfoNV (VkPipelineViewportSwizzleStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineDiscardRectangleStateCreateInfoEXT (VkPipelineDiscardRectangleStateCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkPipelineRasterizationConservativeStateCreateInfoEXT (VkPipelineRasterizationConservativeStateCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkWriteDescriptorSetInlineUniformBlockEXT (VkWriteDescriptorSetInlineUniformBlockEXT*, const VUnpacker&);
  void VUnpack_VkPipelineViewportShadingRateImageStateCreateInfoNV (VkPipelineViewportShadingRateImageStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkDescriptorPoolInlineUniformBlockCreateInfoEXT (VkDescriptorPoolInlineUniformBlockCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkSampleLocationEXT (VkSampleLocationEXT*, const VUnpacker&);
  void VUnpack_VkSampleLocationsInfoEXT (VkSampleLocationsInfoEXT*, const VUnpacker&);
  void VUnpack_VkAttachmentSampleLocationsEXT (VkAttachmentSampleLocationsEXT*, const VUnpacker&);
  void VUnpack_VkPipelineSampleLocationsStateCreateInfoEXT (VkPipelineSampleLocationsStateCreateInfoEXT*, const VUnpacker&);
  void VUnpack_VkPipelineCoverageModulationStateCreateInfoNV (VkPipelineCoverageModulationStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineRepresentativeFragmentTestStateCreateInfoNV (VkPipelineRepresentativeFragmentTestStateCreateInfoNV*, const VUnpacker&);
  void VUnpack_VkPipelineVertexInputDivisorStateCreateInfoEXT (VkPipelineVertexInputDivisorStateCreateInfoEXT*, const VUnpacker&);
  
  
  template <> inline VkSemaphoreCreateInfo*  VUnpacker::_GetPtr<> (VkSemaphoreCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSemaphoreCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorUpdateTemplateEntry*  VUnpacker::_GetPtr<> (VkDescriptorUpdateTemplateEntry *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorUpdateTemplateEntry( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineTessellationDomainOriginStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineTessellationDomainOriginStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineTessellationDomainOriginStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBufferViewCreateInfo*  VUnpacker::_GetPtr<> (VkBufferViewCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBufferViewCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkMemoryBarrier*  VUnpacker::_GetPtr<> (VkMemoryBarrier *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkMemoryBarrier( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineColorBlendAttachmentState*  VUnpacker::_GetPtr<> (VkPipelineColorBlendAttachmentState *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineColorBlendAttachmentState( &ptr[i], *this );  return ptr; }
  template <> inline VkAllocationCallbacks*  VUnpacker::_GetPtr<> (VkAllocationCallbacks *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAllocationCallbacks( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineInputAssemblyStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineInputAssemblyStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineInputAssemblyStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkExtent3D*  VUnpacker::_GetPtr<> (VkExtent3D *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkExtent3D( &ptr[i], *this );  return ptr; }
  template <> inline VkSparseBufferMemoryBindInfo*  VUnpacker::_GetPtr<> (VkSparseBufferMemoryBindInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSparseBufferMemoryBindInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkImageFormatListCreateInfoKHR*  VUnpacker::_GetPtr<> (VkImageFormatListCreateInfoKHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageFormatListCreateInfoKHR( &ptr[i], *this );  return ptr; }
  template <> inline VkOffset2D*  VUnpacker::_GetPtr<> (VkOffset2D *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkOffset2D( &ptr[i], *this );  return ptr; }
  template <> inline VkMappedMemoryRange*  VUnpacker::_GetPtr<> (VkMappedMemoryRange *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkMappedMemoryRange( &ptr[i], *this );  return ptr; }
  template <> inline VkSubmitInfo*  VUnpacker::_GetPtr<> (VkSubmitInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubmitInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineDynamicStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineDynamicStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineDynamicStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSparseMemoryBind*  VUnpacker::_GetPtr<> (VkSparseMemoryBind *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSparseMemoryBind( &ptr[i], *this );  return ptr; }
  template <> inline VkImageViewCreateInfo*  VUnpacker::_GetPtr<> (VkImageViewCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageViewCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineTessellationStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineTessellationStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineTessellationStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkMemoryAllocateInfo*  VUnpacker::_GetPtr<> (VkMemoryAllocateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkMemoryAllocateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSpecializationMapEntry*  VUnpacker::_GetPtr<> (VkSpecializationMapEntry *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSpecializationMapEntry( &ptr[i], *this );  return ptr; }
  template <> inline VkComponentMapping*  VUnpacker::_GetPtr<> (VkComponentMapping *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkComponentMapping( &ptr[i], *this );  return ptr; }
  template <> inline VkImageResolve*  VUnpacker::_GetPtr<> (VkImageResolve *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageResolve( &ptr[i], *this );  return ptr; }
  template <> inline VkBindSparseInfo*  VUnpacker::_GetPtr<> (VkBindSparseInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindSparseInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSparseImageOpaqueMemoryBindInfo*  VUnpacker::_GetPtr<> (VkSparseImageOpaqueMemoryBindInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSparseImageOpaqueMemoryBindInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineViewportStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineVertexInputStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineVertexInputStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineVertexInputStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkImageSubresource*  VUnpacker::_GetPtr<> (VkImageSubresource *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageSubresource( &ptr[i], *this );  return ptr; }
  template <> inline VkOffset3D*  VUnpacker::_GetPtr<> (VkOffset3D *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkOffset3D( &ptr[i], *this );  return ptr; }
  template <> inline VkSparseImageMemoryBind*  VUnpacker::_GetPtr<> (VkSparseImageMemoryBind *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSparseImageMemoryBind( &ptr[i], *this );  return ptr; }
  template <> inline VkSparseImageMemoryBindInfo*  VUnpacker::_GetPtr<> (VkSparseImageMemoryBindInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSparseImageMemoryBindInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkFenceCreateInfo*  VUnpacker::_GetPtr<> (VkFenceCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkFenceCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkEventCreateInfo*  VUnpacker::_GetPtr<> (VkEventCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkEventCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassBeginInfo*  VUnpacker::_GetPtr<> (VkRenderPassBeginInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassBeginInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkQueryPoolCreateInfo*  VUnpacker::_GetPtr<> (VkQueryPoolCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkQueryPoolCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBufferCreateInfo*  VUnpacker::_GetPtr<> (VkBufferCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBufferCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkImageCreateInfo*  VUnpacker::_GetPtr<> (VkImageCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineMultisampleStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineMultisampleStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineMultisampleStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkViewport*  VUnpacker::_GetPtr<> (VkViewport *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkViewport( &ptr[i], *this );  return ptr; }
  template <> inline VkImageSubresourceRange*  VUnpacker::_GetPtr<> (VkImageSubresourceRange *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageSubresourceRange( &ptr[i], *this );  return ptr; }
  template <> inline VkShaderModuleCreateInfo*  VUnpacker::_GetPtr<> (VkShaderModuleCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkShaderModuleCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*  VUnpacker::_GetPtr<> (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineCacheCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineCacheCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineCacheCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSpecializationInfo*  VUnpacker::_GetPtr<> (VkSpecializationInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSpecializationInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineShaderStageCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineShaderStageCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineShaderStageCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkVertexInputBindingDescription*  VUnpacker::_GetPtr<> (VkVertexInputBindingDescription *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkVertexInputBindingDescription( &ptr[i], *this );  return ptr; }
  template <> inline VkImageCopy*  VUnpacker::_GetPtr<> (VkImageCopy *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageCopy( &ptr[i], *this );  return ptr; }
  template <> inline VkVertexInputAttributeDescription*  VUnpacker::_GetPtr<> (VkVertexInputAttributeDescription *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkVertexInputAttributeDescription( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineRasterizationStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineRasterizationStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineRasterizationStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkExtent2D*  VUnpacker::_GetPtr<> (VkExtent2D *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkExtent2D( &ptr[i], *this );  return ptr; }
  template <> inline VkRect2D*  VUnpacker::_GetPtr<> (VkRect2D *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRect2D( &ptr[i], *this );  return ptr; }
  template <> inline VkStencilOpState*  VUnpacker::_GetPtr<> (VkStencilOpState *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkStencilOpState( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineDepthStencilStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineDepthStencilStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineDepthStencilStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkCommandBufferInheritanceInfo*  VUnpacker::_GetPtr<> (VkCommandBufferInheritanceInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCommandBufferInheritanceInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineColorBlendStateCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineColorBlendStateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineColorBlendStateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkGraphicsPipelineCreateInfo*  VUnpacker::_GetPtr<> (VkGraphicsPipelineCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkGraphicsPipelineCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSamplerYcbcrConversionInfo*  VUnpacker::_GetPtr<> (VkSamplerYcbcrConversionInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSamplerYcbcrConversionInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkComputePipelineCreateInfo*  VUnpacker::_GetPtr<> (VkComputePipelineCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkComputePipelineCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkPushConstantRange*  VUnpacker::_GetPtr<> (VkPushConstantRange *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPushConstantRange( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineLayoutCreateInfo*  VUnpacker::_GetPtr<> (VkPipelineLayoutCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineLayoutCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSamplerCreateInfo*  VUnpacker::_GetPtr<> (VkSamplerCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSamplerCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorSetLayoutBinding*  VUnpacker::_GetPtr<> (VkDescriptorSetLayoutBinding *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorSetLayoutBinding( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorSetLayoutCreateInfo*  VUnpacker::_GetPtr<> (VkDescriptorSetLayoutCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorSetLayoutCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorPoolSize*  VUnpacker::_GetPtr<> (VkDescriptorPoolSize *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorPoolSize( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorPoolCreateInfo*  VUnpacker::_GetPtr<> (VkDescriptorPoolCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorPoolCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorSetAllocateInfo*  VUnpacker::_GetPtr<> (VkDescriptorSetAllocateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorSetAllocateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkClearValue*  VUnpacker::_GetPtr<> (VkClearValue *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkClearValue( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorImageInfo*  VUnpacker::_GetPtr<> (VkDescriptorImageInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorImageInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorBufferInfo*  VUnpacker::_GetPtr<> (VkDescriptorBufferInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorBufferInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkWriteDescriptorSet*  VUnpacker::_GetPtr<> (VkWriteDescriptorSet *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkWriteDescriptorSet( &ptr[i], *this );  return ptr; }
  template <> inline VkCopyDescriptorSet*  VUnpacker::_GetPtr<> (VkCopyDescriptorSet *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCopyDescriptorSet( &ptr[i], *this );  return ptr; }
  template <> inline VkFramebufferCreateInfo*  VUnpacker::_GetPtr<> (VkFramebufferCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkFramebufferCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkAttachmentDescription*  VUnpacker::_GetPtr<> (VkAttachmentDescription *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAttachmentDescription( &ptr[i], *this );  return ptr; }
  template <> inline VkAttachmentReference*  VUnpacker::_GetPtr<> (VkAttachmentReference *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAttachmentReference( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassDescription*  VUnpacker::_GetPtr<> (VkSubpassDescription *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassDescription( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassDependency*  VUnpacker::_GetPtr<> (VkSubpassDependency *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassDependency( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassCreateInfo*  VUnpacker::_GetPtr<> (VkRenderPassCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkCommandPoolCreateInfo*  VUnpacker::_GetPtr<> (VkCommandPoolCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCommandPoolCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkCommandBufferAllocateInfo*  VUnpacker::_GetPtr<> (VkCommandBufferAllocateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCommandBufferAllocateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkCommandBufferBeginInfo*  VUnpacker::_GetPtr<> (VkCommandBufferBeginInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCommandBufferBeginInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBufferCopy*  VUnpacker::_GetPtr<> (VkBufferCopy *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBufferCopy( &ptr[i], *this );  return ptr; }
  template <> inline VkImageSubresourceLayers*  VUnpacker::_GetPtr<> (VkImageSubresourceLayers *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageSubresourceLayers( &ptr[i], *this );  return ptr; }
  template <> inline VkImageBlit*  VUnpacker::_GetPtr<> (VkImageBlit *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageBlit( &ptr[i], *this );  return ptr; }
  template <> inline VkBufferImageCopy*  VUnpacker::_GetPtr<> (VkBufferImageCopy *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBufferImageCopy( &ptr[i], *this );  return ptr; }
  template <> inline VkClearColorValue*  VUnpacker::_GetPtr<> (VkClearColorValue *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkClearColorValue( &ptr[i], *this );  return ptr; }
  template <> inline VkClearDepthStencilValue*  VUnpacker::_GetPtr<> (VkClearDepthStencilValue *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkClearDepthStencilValue( &ptr[i], *this );  return ptr; }
  template <> inline VkClearAttachment*  VUnpacker::_GetPtr<> (VkClearAttachment *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkClearAttachment( &ptr[i], *this );  return ptr; }
  template <> inline VkClearRect*  VUnpacker::_GetPtr<> (VkClearRect *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkClearRect( &ptr[i], *this );  return ptr; }
  template <> inline VkViewportSwizzleNV*  VUnpacker::_GetPtr<> (VkViewportSwizzleNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkViewportSwizzleNV( &ptr[i], *this );  return ptr; }
  template <> inline VkBufferMemoryBarrier*  VUnpacker::_GetPtr<> (VkBufferMemoryBarrier *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBufferMemoryBarrier( &ptr[i], *this );  return ptr; }
  template <> inline VkImageMemoryBarrier*  VUnpacker::_GetPtr<> (VkImageMemoryBarrier *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageMemoryBarrier( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineCoverageToColorStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineCoverageToColorStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineCoverageToColorStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkShadingRatePaletteNV*  VUnpacker::_GetPtr<> (VkShadingRatePaletteNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkShadingRatePaletteNV( &ptr[i], *this );  return ptr; }
  template <> inline VkBindBufferMemoryInfo*  VUnpacker::_GetPtr<> (VkBindBufferMemoryInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindBufferMemoryInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBindImageMemoryInfo*  VUnpacker::_GetPtr<> (VkBindImageMemoryInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindImageMemoryInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassEndInfoKHR*  VUnpacker::_GetPtr<> (VkSubpassEndInfoKHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassEndInfoKHR( &ptr[i], *this );  return ptr; }
  template <> inline VkMemoryDedicatedAllocateInfo*  VUnpacker::_GetPtr<> (VkMemoryDedicatedAllocateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkMemoryDedicatedAllocateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkMemoryAllocateFlagsInfo*  VUnpacker::_GetPtr<> (VkMemoryAllocateFlagsInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkMemoryAllocateFlagsInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDeviceGroupRenderPassBeginInfo*  VUnpacker::_GetPtr<> (VkDeviceGroupRenderPassBeginInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDeviceGroupRenderPassBeginInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDeviceGroupCommandBufferBeginInfo*  VUnpacker::_GetPtr<> (VkDeviceGroupCommandBufferBeginInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDeviceGroupCommandBufferBeginInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDeviceGroupSubmitInfo*  VUnpacker::_GetPtr<> (VkDeviceGroupSubmitInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDeviceGroupSubmitInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDeviceGroupBindSparseInfo*  VUnpacker::_GetPtr<> (VkDeviceGroupBindSparseInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDeviceGroupBindSparseInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBindBufferMemoryDeviceGroupInfo*  VUnpacker::_GetPtr<> (VkBindBufferMemoryDeviceGroupInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindBufferMemoryDeviceGroupInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBindImageMemoryDeviceGroupInfo*  VUnpacker::_GetPtr<> (VkBindImageMemoryDeviceGroupInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindImageMemoryDeviceGroupInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSamplerReductionModeCreateInfoEXT*  VUnpacker::_GetPtr<> (VkSamplerReductionModeCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSamplerReductionModeCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkAttachmentReference2KHR*  VUnpacker::_GetPtr<> (VkAttachmentReference2KHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAttachmentReference2KHR( &ptr[i], *this );  return ptr; }
  template <> inline VkInputAttachmentAspectReference*  VUnpacker::_GetPtr<> (VkInputAttachmentAspectReference *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkInputAttachmentAspectReference( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassInputAttachmentAspectCreateInfo*  VUnpacker::_GetPtr<> (VkRenderPassInputAttachmentAspectCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassInputAttachmentAspectCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkImageViewUsageCreateInfo*  VUnpacker::_GetPtr<> (VkImageViewUsageCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageViewUsageCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassMultiviewCreateInfo*  VUnpacker::_GetPtr<> (VkRenderPassMultiviewCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassMultiviewCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassSampleLocationsBeginInfoEXT*  VUnpacker::_GetPtr<> (VkRenderPassSampleLocationsBeginInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassSampleLocationsBeginInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkDeviceQueueInfo2*  VUnpacker::_GetPtr<> (VkDeviceQueueInfo2 *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDeviceQueueInfo2( &ptr[i], *this );  return ptr; }
  template <> inline VkProtectedSubmitInfo*  VUnpacker::_GetPtr<> (VkProtectedSubmitInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkProtectedSubmitInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkSamplerYcbcrConversionCreateInfo*  VUnpacker::_GetPtr<> (VkSamplerYcbcrConversionCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSamplerYcbcrConversionCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkBindImagePlaneMemoryInfo*  VUnpacker::_GetPtr<> (VkBindImagePlaneMemoryInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindImagePlaneMemoryInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorUpdateTemplateCreateInfo*  VUnpacker::_GetPtr<> (VkDescriptorUpdateTemplateCreateInfo *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorUpdateTemplateCreateInfo( &ptr[i], *this );  return ptr; }
  template <> inline VkCoarseSampleLocationNV*  VUnpacker::_GetPtr<> (VkCoarseSampleLocationNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCoarseSampleLocationNV( &ptr[i], *this );  return ptr; }
  template <> inline VkImageSwapchainCreateInfoKHR*  VUnpacker::_GetPtr<> (VkImageSwapchainCreateInfoKHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageSwapchainCreateInfoKHR( &ptr[i], *this );  return ptr; }
  template <> inline VkBindImageMemorySwapchainInfoKHR*  VUnpacker::_GetPtr<> (VkBindImageMemorySwapchainInfoKHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkBindImageMemorySwapchainInfoKHR( &ptr[i], *this );  return ptr; }
  template <> inline VkVertexInputBindingDivisorDescriptionEXT*  VUnpacker::_GetPtr<> (VkVertexInputBindingDivisorDescriptionEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkVertexInputBindingDivisorDescriptionEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassSampleLocationsEXT*  VUnpacker::_GetPtr<> (VkSubpassSampleLocationsEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassSampleLocationsEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineColorBlendAdvancedStateCreateInfoEXT*  VUnpacker::_GetPtr<> (VkPipelineColorBlendAdvancedStateCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineColorBlendAdvancedStateCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkAttachmentDescription2KHR*  VUnpacker::_GetPtr<> (VkAttachmentDescription2KHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAttachmentDescription2KHR( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassDescription2KHR*  VUnpacker::_GetPtr<> (VkSubpassDescription2KHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassDescription2KHR( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassDependency2KHR*  VUnpacker::_GetPtr<> (VkSubpassDependency2KHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassDependency2KHR( &ptr[i], *this );  return ptr; }
  template <> inline VkRenderPassCreateInfo2KHR*  VUnpacker::_GetPtr<> (VkRenderPassCreateInfo2KHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkRenderPassCreateInfo2KHR( &ptr[i], *this );  return ptr; }
  template <> inline VkSubpassBeginInfoKHR*  VUnpacker::_GetPtr<> (VkSubpassBeginInfoKHR *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSubpassBeginInfoKHR( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*  VUnpacker::_GetPtr<> (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkDedicatedAllocationMemoryAllocateInfoNV*  VUnpacker::_GetPtr<> (VkDedicatedAllocationMemoryAllocateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDedicatedAllocationMemoryAllocateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineRasterizationStateRasterizationOrderAMD*  VUnpacker::_GetPtr<> (VkPipelineRasterizationStateRasterizationOrderAMD *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineRasterizationStateRasterizationOrderAMD( &ptr[i], *this );  return ptr; }
  template <> inline VkDebugMarkerObjectNameInfoEXT*  VUnpacker::_GetPtr<> (VkDebugMarkerObjectNameInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDebugMarkerObjectNameInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkDebugMarkerMarkerInfoEXT*  VUnpacker::_GetPtr<> (VkDebugMarkerMarkerInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDebugMarkerMarkerInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkDedicatedAllocationImageCreateInfoNV*  VUnpacker::_GetPtr<> (VkDedicatedAllocationImageCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDedicatedAllocationImageCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkDedicatedAllocationBufferCreateInfoNV*  VUnpacker::_GetPtr<> (VkDedicatedAllocationBufferCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDedicatedAllocationBufferCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkCoarseSampleOrderCustomNV*  VUnpacker::_GetPtr<> (VkCoarseSampleOrderCustomNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCoarseSampleOrderCustomNV( &ptr[i], *this );  return ptr; }
  template <> inline VkImageViewASTCDecodeModeEXT*  VUnpacker::_GetPtr<> (VkImageViewASTCDecodeModeEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkImageViewASTCDecodeModeEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkCommandBufferInheritanceConditionalRenderingInfoEXT*  VUnpacker::_GetPtr<> (VkCommandBufferInheritanceConditionalRenderingInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkCommandBufferInheritanceConditionalRenderingInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkViewportWScalingNV*  VUnpacker::_GetPtr<> (VkViewportWScalingNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkViewportWScalingNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportExclusiveScissorStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineViewportExclusiveScissorStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportExclusiveScissorStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportWScalingStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineViewportWScalingStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportWScalingStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportSwizzleStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineViewportSwizzleStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportSwizzleStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineDiscardRectangleStateCreateInfoEXT*  VUnpacker::_GetPtr<> (VkPipelineDiscardRectangleStateCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineDiscardRectangleStateCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineRasterizationConservativeStateCreateInfoEXT*  VUnpacker::_GetPtr<> (VkPipelineRasterizationConservativeStateCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineRasterizationConservativeStateCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkWriteDescriptorSetInlineUniformBlockEXT*  VUnpacker::_GetPtr<> (VkWriteDescriptorSetInlineUniformBlockEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkWriteDescriptorSetInlineUniformBlockEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineViewportShadingRateImageStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineViewportShadingRateImageStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineViewportShadingRateImageStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkDescriptorPoolInlineUniformBlockCreateInfoEXT*  VUnpacker::_GetPtr<> (VkDescriptorPoolInlineUniformBlockCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkDescriptorPoolInlineUniformBlockCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkSampleLocationEXT*  VUnpacker::_GetPtr<> (VkSampleLocationEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSampleLocationEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkSampleLocationsInfoEXT*  VUnpacker::_GetPtr<> (VkSampleLocationsInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkSampleLocationsInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkAttachmentSampleLocationsEXT*  VUnpacker::_GetPtr<> (VkAttachmentSampleLocationsEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkAttachmentSampleLocationsEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineSampleLocationsStateCreateInfoEXT*  VUnpacker::_GetPtr<> (VkPipelineSampleLocationsStateCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineSampleLocationsStateCreateInfoEXT( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineCoverageModulationStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineCoverageModulationStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineCoverageModulationStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineRepresentativeFragmentTestStateCreateInfoNV*  VUnpacker::_GetPtr<> (VkPipelineRepresentativeFragmentTestStateCreateInfoNV *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineRepresentativeFragmentTestStateCreateInfoNV( &ptr[i], *this );  return ptr; }
  template <> inline VkPipelineVertexInputDivisorStateCreateInfoEXT*  VUnpacker::_GetPtr<> (VkPipelineVertexInputDivisorStateCreateInfoEXT *ptr, uint count) { for (uint i = 0; i < count; ++i) VUnpack_VkPipelineVertexInputDivisorStateCreateInfoEXT( &ptr[i], *this );  return ptr; }
  