Skip to content

Commit a0a4c22

Browse files
authored
Add spaceship operator for vk handles (#2498)
1 parent 712fd90 commit a0a4c22

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

snippets/HandlesHppTemplate.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
2626
return static_cast<typename T::NativeType>( lhs ) != static_cast<typename T::NativeType>( rhs );
2727
}
2828

29+
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30+
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
31+
auto operator<=>( T const & lhs, T const & rhs )
32+
{
33+
return static_cast<typename T::NativeType>( lhs ) <=> static_cast<typename T::NativeType>( rhs );
34+
}
35+
#else
2936
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
3037
bool operator<( T const & lhs, T const & rhs )
3138
{
@@ -49,6 +56,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
4956
{
5057
return static_cast<typename T::NativeType>( lhs ) >= static_cast<typename T::NativeType>( rhs );
5158
}
59+
#endif
5260

5361
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
5462
bool operator==( T const & v, std::nullptr_t )

vulkan/vulkan_handles.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22652,6 +22652,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
2265222652
return static_cast<typename T::NativeType>( lhs ) != static_cast<typename T::NativeType>( rhs );
2265322653
}
2265422654

22655+
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22656+
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
22657+
auto operator<=>( T const & lhs, T const & rhs )
22658+
{
22659+
return static_cast<typename T::NativeType>( lhs ) <=> static_cast<typename T::NativeType>( rhs );
22660+
}
22661+
#else
2265522662
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
2265622663
bool operator<( T const & lhs, T const & rhs )
2265722664
{
@@ -22675,6 +22682,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
2267522682
{
2267622683
return static_cast<typename T::NativeType>( lhs ) >= static_cast<typename T::NativeType>( rhs );
2267722684
}
22685+
#endif
2267822686

2267922687
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
2268022688
bool operator==( T const & v, std::nullptr_t )

0 commit comments

Comments
 (0)