1010
1111#include <vulkan/vulkan.hpp>
1212
13- #if !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
13+ #if !defined( VULKAN_HPP_CXX_MODULE )
1414# include <atomic> // std::atomic_size_t
1515#endif
1616
@@ -84,7 +84,7 @@ namespace VULKAN_HPP_NAMESPACE
8484 template <typename DestructorType, typename Deleter>
8585 struct SharedHeader
8686 {
87- SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
87+ SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT
8888 : parent( std::move( parent ) )
8989 , deleter( std::move( deleter ) )
9090 {
@@ -97,7 +97,7 @@ namespace VULKAN_HPP_NAMESPACE
9797 template <typename Deleter>
9898 struct SharedHeader<NoDestructor, Deleter>
9999 {
100- SharedHeader( Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
100+ SharedHeader( Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
101101
102102 Deleter deleter;
103103 };
@@ -131,7 +131,7 @@ namespace VULKAN_HPP_NAMESPACE
131131
132132 public:
133133 std::atomic_size_t m_ref_cnt{ 1 };
134- HeaderType m_header{} ;
134+ HeaderType m_header;
135135 };
136136
137137 //=====================================================================================================================
@@ -282,7 +282,9 @@ namespace VULKAN_HPP_NAMESPACE
282282 SharedHandle() = default;
283283
284284 template <typename T = HandleType, typename = typename std::enable_if<HasDestructor<T>::value && !HasPoolType<T>::value>::type>
285- explicit SharedHandle( HandleType handle, SharedHandle<DestructorTypeOf<HandleType>> parent, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
285+ explicit SharedHandle( HandleType handle,
286+ SharedHandle<DestructorTypeOf<HandleType>> parent,
287+ DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
286288 : BaseType( handle, std::move( parent ), std::move( deleter ) )
287289 {
288290 }
@@ -299,7 +301,8 @@ namespace VULKAN_HPP_NAMESPACE
299301 }
300302
301303 template <typename T = HandleType, typename = typename std::enable_if<!HasDestructor<T>::value>::type>
302- explicit SharedHandle( HandleType handle, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT : BaseType( handle, std::move( deleter ) )
304+ explicit SharedHandle( HandleType handle, DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
305+ : BaseType( handle, std::move( deleter ) )
303306 {
304307 }
305308
@@ -1051,9 +1054,9 @@ namespace VULKAN_HPP_NAMESPACE
10511054
10521055 struct ImageHeader : SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>
10531056 {
1054- ImageHeader( SharedHandle<DestructorTypeOf<Image>> parent,
1055- typename SharedHandleTraits<Image>::deleter deleter = typename SharedHandleTraits<Image>::deleter(),
1056- SwapchainOwns swapchainOwned = SwapchainOwns::no ) VULKAN_HPP_NOEXCEPT
1057+ ImageHeader( SharedHandle<DestructorTypeOf<Image>> parent,
1058+ typename SharedHandleTraits<Image>::deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<Image>::deleter() ),
1059+ SwapchainOwns swapchainOwned = SwapchainOwns::no ) VULKAN_HPP_NOEXCEPT
10571060 : SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>( std::move( parent ), std::move( deleter ) )
10581061 , swapchainOwned( swapchainOwned )
10591062 {
@@ -1074,8 +1077,8 @@ namespace VULKAN_HPP_NAMESPACE
10741077
10751078 explicit SharedHandle( Image handle,
10761079 SharedHandle<DestructorTypeOf<Image>> parent,
1077- SwapchainOwns swapchain_owned = SwapchainOwns::no,
1078- DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
1080+ SwapchainOwns swapchain_owned VULKAN_HPP_DEFAULT_ASSIGNMENT( SwapchainOwns::no ) ,
1081+ DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
10791082 : BaseType( handle, std::move( parent ), std::move( deleter ), swapchain_owned )
10801083 {
10811084 }
@@ -1092,18 +1095,19 @@ namespace VULKAN_HPP_NAMESPACE
10921095
10931096 struct SwapchainHeader
10941097 {
1095- SwapchainHeader( SharedHandle<SurfaceKHR> surface,
1096- SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
1097- typename SharedHandleTraits<SwapchainKHR>::deleter deleter = typename SharedHandleTraits<SwapchainKHR>::deleter() ) VULKAN_HPP_NOEXCEPT
1098+ SwapchainHeader( SharedHandle<SurfaceKHR> surface,
1099+ SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
1100+ typename SharedHandleTraits<SwapchainKHR>::deleter deleter
1101+ VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<SwapchainKHR>::deleter() ) ) VULKAN_HPP_NOEXCEPT
10981102 : surface( std::move( surface ) )
10991103 , parent( std::move( parent ) )
11001104 , deleter( std::move( deleter ) )
11011105 {
11021106 }
11031107
1104- SharedHandle<SurfaceKHR> surface{} ;
1105- SharedHandle<DestructorTypeOf<SwapchainKHR>> parent{} ;
1106- typename SharedHandleTraits<SwapchainKHR>::deleter deleter{} ;
1108+ SharedHandle<SurfaceKHR> surface;
1109+ SharedHandle<DestructorTypeOf<SwapchainKHR>> parent;
1110+ typename SharedHandleTraits<SwapchainKHR>::deleter deleter;
11071111 };
11081112
11091113 template <>
@@ -1119,7 +1123,7 @@ namespace VULKAN_HPP_NAMESPACE
11191123 explicit SharedHandle( SwapchainKHR handle,
11201124 SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
11211125 SharedHandle<SurfaceKHR> surface,
1122- DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
1126+ DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
11231127 : BaseType( handle, std::move( surface ), std::move( parent ), std::move( deleter ) )
11241128 {
11251129 }
0 commit comments