mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
extra constructor for uniquehandles that take the owner variable directly
This commit is contained in:
parent
a9b5b68572
commit
295ab10a6d
@ -634,6 +634,7 @@ const std::string uniqueHandleHeader = R"(
|
|||||||
class UniqueHandle : public UniqueHandleTraits<Type,Dispatch>::deleter
|
class UniqueHandle : public UniqueHandleTraits<Type,Dispatch>::deleter
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
using Owner = typename UniqueHandleTraits<Type,Dispatch>::owner;
|
||||||
using Deleter = typename UniqueHandleTraits<Type,Dispatch>::deleter;
|
using Deleter = typename UniqueHandleTraits<Type,Dispatch>::deleter;
|
||||||
public:
|
public:
|
||||||
explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
|
explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
|
||||||
@ -641,6 +642,11 @@ const std::string uniqueHandleHeader = R"(
|
|||||||
, m_value( value )
|
, m_value( value )
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
explicit UniqueHandle( Type const& value = Type(), Owner const& owner = Owner() )
|
||||||
|
: Deleter( owner)
|
||||||
|
, m_value( value )
|
||||||
|
{}
|
||||||
|
|
||||||
UniqueHandle( UniqueHandle const& ) = delete;
|
UniqueHandle( UniqueHandle const& ) = delete;
|
||||||
|
|
||||||
UniqueHandle( UniqueHandle && other )
|
UniqueHandle( UniqueHandle && other )
|
||||||
@ -4787,7 +4793,9 @@ void VulkanHppGenerator::writeUniqueTypes(std::ostream &os, std::pair<std::strin
|
|||||||
auto ddit = m_deleters.find(dt);
|
auto ddit = m_deleters.find(dt);
|
||||||
assert(ddit != m_deleters.end());
|
assert(ddit != m_deleters.end());
|
||||||
|
|
||||||
os << " template <typename Dispatch> class UniqueHandleTraits<" << dt << ",Dispatch> {public: using deleter = " << (ddit->second.pool.empty() ? "Object" : "Pool") << ((ddit->second.call.substr(0, 4) == "free") ? "Free<" : "Destroy<") << (deleterTypes.first.empty() ? "NoParent" : deleterTypes.first) << (ddit->second.pool.empty() ? "" : ", " + ddit->second.pool) << ",Dispatch>; };\n";
|
std::string deleterType = (deleterTypes.first.empty() ? "NoParent" : deleterTypes.first);
|
||||||
|
|
||||||
|
os << " template <typename Dispatch> class UniqueHandleTraits<" << dt << ",Dispatch> {public: " << "using owner = " << deleterType << "; " << "using deleter = " << (ddit->second.pool.empty() ? "Object" : "Pool") << ((ddit->second.call.substr(0, 4) == "free") ? "Free<" : "Destroy<") << "owner" << (ddit->second.pool.empty() ? "" : ", " + ddit->second.pool) << ",Dispatch>;};\n";
|
||||||
os << " using Unique" << dt << " = UniqueHandle<" << dt << ",DispatchLoaderStatic>;" << std::endl;
|
os << " using Unique" << dt << " = UniqueHandle<" << dt << ",DispatchLoaderStatic>;" << std::endl;
|
||||||
}
|
}
|
||||||
os << "#endif /*VULKAN_HPP_NO_SMART_HANDLE*/" << std::endl
|
os << "#endif /*VULKAN_HPP_NO_SMART_HANDLE*/" << std::endl
|
||||||
|
@ -382,6 +382,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
class UniqueHandle : public UniqueHandleTraits<Type,Dispatch>::deleter
|
class UniqueHandle : public UniqueHandleTraits<Type,Dispatch>::deleter
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
using Owner = typename UniqueHandleTraits<Type,Dispatch>::owner;
|
||||||
using Deleter = typename UniqueHandleTraits<Type,Dispatch>::deleter;
|
using Deleter = typename UniqueHandleTraits<Type,Dispatch>::deleter;
|
||||||
public:
|
public:
|
||||||
explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
|
explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
|
||||||
@ -389,6 +390,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
, m_value( value )
|
, m_value( value )
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
explicit UniqueHandle( Type const& value = Type(), Owner const& owner = Owner() )
|
||||||
|
: Deleter( owner)
|
||||||
|
, m_value( value )
|
||||||
|
{}
|
||||||
|
|
||||||
UniqueHandle( UniqueHandle const& ) = delete;
|
UniqueHandle( UniqueHandle const& ) = delete;
|
||||||
|
|
||||||
UniqueHandle( UniqueHandle && other )
|
UniqueHandle( UniqueHandle && other )
|
||||||
@ -33551,59 +33557,59 @@ public:
|
|||||||
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||||
class Device;
|
class Device;
|
||||||
|
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Buffer,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Buffer,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueBuffer = UniqueHandle<Buffer,DispatchLoaderStatic>;
|
using UniqueBuffer = UniqueHandle<Buffer,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<BufferView,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<BufferView,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueBufferView = UniqueHandle<BufferView,DispatchLoaderStatic>;
|
using UniqueBufferView = UniqueHandle<BufferView,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<CommandBuffer,Dispatch> {public: using deleter = PoolFree<Device, CommandPool,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<CommandBuffer,Dispatch> {public: using owner = Device; using deleter = PoolFree<owner, CommandPool,Dispatch>;};
|
||||||
using UniqueCommandBuffer = UniqueHandle<CommandBuffer,DispatchLoaderStatic>;
|
using UniqueCommandBuffer = UniqueHandle<CommandBuffer,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<CommandPool,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<CommandPool,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueCommandPool = UniqueHandle<CommandPool,DispatchLoaderStatic>;
|
using UniqueCommandPool = UniqueHandle<CommandPool,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DescriptorPool,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DescriptorPool,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDescriptorPool = UniqueHandle<DescriptorPool,DispatchLoaderStatic>;
|
using UniqueDescriptorPool = UniqueHandle<DescriptorPool,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DescriptorSet,Dispatch> {public: using deleter = PoolFree<Device, DescriptorPool,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DescriptorSet,Dispatch> {public: using owner = Device; using deleter = PoolFree<owner, DescriptorPool,Dispatch>;};
|
||||||
using UniqueDescriptorSet = UniqueHandle<DescriptorSet,DispatchLoaderStatic>;
|
using UniqueDescriptorSet = UniqueHandle<DescriptorSet,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DescriptorSetLayout,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DescriptorSetLayout,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout,DispatchLoaderStatic>;
|
using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DescriptorUpdateTemplate,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DescriptorUpdateTemplate,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDescriptorUpdateTemplate = UniqueHandle<DescriptorUpdateTemplate,DispatchLoaderStatic>;
|
using UniqueDescriptorUpdateTemplate = UniqueHandle<DescriptorUpdateTemplate,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DeviceMemory,Dispatch> {public: using deleter = ObjectFree<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DeviceMemory,Dispatch> {public: using owner = Device; using deleter = ObjectFree<owner,Dispatch>;};
|
||||||
using UniqueDeviceMemory = UniqueHandle<DeviceMemory,DispatchLoaderStatic>;
|
using UniqueDeviceMemory = UniqueHandle<DeviceMemory,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Event,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Event,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueEvent = UniqueHandle<Event,DispatchLoaderStatic>;
|
using UniqueEvent = UniqueHandle<Event,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Fence,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Fence,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueFence = UniqueHandle<Fence,DispatchLoaderStatic>;
|
using UniqueFence = UniqueHandle<Fence,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Framebuffer,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Framebuffer,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueFramebuffer = UniqueHandle<Framebuffer,DispatchLoaderStatic>;
|
using UniqueFramebuffer = UniqueHandle<Framebuffer,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Image,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Image,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueImage = UniqueHandle<Image,DispatchLoaderStatic>;
|
using UniqueImage = UniqueHandle<Image,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<ImageView,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<ImageView,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueImageView = UniqueHandle<ImageView,DispatchLoaderStatic>;
|
using UniqueImageView = UniqueHandle<ImageView,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<IndirectCommandsLayoutNVX,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<IndirectCommandsLayoutNVX,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueIndirectCommandsLayoutNVX = UniqueHandle<IndirectCommandsLayoutNVX,DispatchLoaderStatic>;
|
using UniqueIndirectCommandsLayoutNVX = UniqueHandle<IndirectCommandsLayoutNVX,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<ObjectTableNVX,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<ObjectTableNVX,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueObjectTableNVX = UniqueHandle<ObjectTableNVX,DispatchLoaderStatic>;
|
using UniqueObjectTableNVX = UniqueHandle<ObjectTableNVX,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Pipeline,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Pipeline,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniquePipeline = UniqueHandle<Pipeline,DispatchLoaderStatic>;
|
using UniquePipeline = UniqueHandle<Pipeline,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<PipelineCache,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<PipelineCache,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniquePipelineCache = UniqueHandle<PipelineCache,DispatchLoaderStatic>;
|
using UniquePipelineCache = UniqueHandle<PipelineCache,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<PipelineLayout,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<PipelineLayout,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniquePipelineLayout = UniqueHandle<PipelineLayout,DispatchLoaderStatic>;
|
using UniquePipelineLayout = UniqueHandle<PipelineLayout,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<QueryPool,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<QueryPool,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueQueryPool = UniqueHandle<QueryPool,DispatchLoaderStatic>;
|
using UniqueQueryPool = UniqueHandle<QueryPool,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<RenderPass,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<RenderPass,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueRenderPass = UniqueHandle<RenderPass,DispatchLoaderStatic>;
|
using UniqueRenderPass = UniqueHandle<RenderPass,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Sampler,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Sampler,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueSampler = UniqueHandle<Sampler,DispatchLoaderStatic>;
|
using UniqueSampler = UniqueHandle<Sampler,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<SamplerYcbcrConversion,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<SamplerYcbcrConversion,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueSamplerYcbcrConversion = UniqueHandle<SamplerYcbcrConversion,DispatchLoaderStatic>;
|
using UniqueSamplerYcbcrConversion = UniqueHandle<SamplerYcbcrConversion,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Semaphore,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Semaphore,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueSemaphore = UniqueHandle<Semaphore,DispatchLoaderStatic>;
|
using UniqueSemaphore = UniqueHandle<Semaphore,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<ShaderModule,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<ShaderModule,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueShaderModule = UniqueHandle<ShaderModule,DispatchLoaderStatic>;
|
using UniqueShaderModule = UniqueHandle<ShaderModule,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<SwapchainKHR,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<SwapchainKHR,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR,DispatchLoaderStatic>;
|
using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<ValidationCacheEXT,Dispatch> {public: using deleter = ObjectDestroy<Device,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<ValidationCacheEXT,Dispatch> {public: using owner = Device; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT,DispatchLoaderStatic>;
|
using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT,DispatchLoaderStatic>;
|
||||||
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||||
|
|
||||||
@ -38091,7 +38097,7 @@ public:
|
|||||||
|
|
||||||
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||||
|
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Device,Dispatch> {public: using deleter = ObjectDestroy<NoParent,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Device,Dispatch> {public: using owner = NoParent; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDevice = UniqueHandle<Device,DispatchLoaderStatic>;
|
using UniqueDevice = UniqueHandle<Device,DispatchLoaderStatic>;
|
||||||
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||||
|
|
||||||
@ -39917,11 +39923,11 @@ public:
|
|||||||
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||||
class Instance;
|
class Instance;
|
||||||
|
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DebugReportCallbackEXT,Dispatch> {public: using deleter = ObjectDestroy<Instance,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DebugReportCallbackEXT,Dispatch> {public: using owner = Instance; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT,DispatchLoaderStatic>;
|
using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<DebugUtilsMessengerEXT,Dispatch> {public: using deleter = ObjectDestroy<Instance,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<DebugUtilsMessengerEXT,Dispatch> {public: using owner = Instance; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT,DispatchLoaderStatic>;
|
using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT,DispatchLoaderStatic>;
|
||||||
template <typename Dispatch> class UniqueHandleTraits<SurfaceKHR,Dispatch> {public: using deleter = ObjectDestroy<Instance,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<SurfaceKHR,Dispatch> {public: using owner = Instance; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR,DispatchLoaderStatic>;
|
using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR,DispatchLoaderStatic>;
|
||||||
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||||
|
|
||||||
@ -40851,7 +40857,7 @@ public:
|
|||||||
|
|
||||||
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
#ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||||
|
|
||||||
template <typename Dispatch> class UniqueHandleTraits<Instance,Dispatch> {public: using deleter = ObjectDestroy<NoParent,Dispatch>; };
|
template <typename Dispatch> class UniqueHandleTraits<Instance,Dispatch> {public: using owner = NoParent; using deleter = ObjectDestroy<owner,Dispatch>;};
|
||||||
using UniqueInstance = UniqueHandle<Instance,DispatchLoaderStatic>;
|
using UniqueInstance = UniqueHandle<Instance,DispatchLoaderStatic>;
|
||||||
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user