mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-13 05:50:04 -04:00
Re-add compare operators of vk-handles, needed for 32bit builds. (#2010)
This commit is contained in:
parent
20ecea9574
commit
c2c49478e9
@ -233,6 +233,57 @@ ${handleForwardDeclarations}
|
||||
${uniqueHandles}
|
||||
${handles}
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
// operators to compare vk::-handles
|
||||
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator<=>( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) <=> static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
#else
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) == static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) != static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator<( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) < static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( T const & v, std::nullptr_t )
|
||||
{
|
||||
return !v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( std::nullptr_t, T const & v )
|
||||
{
|
||||
return !v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( T const & v, std::nullptr_t )
|
||||
{
|
||||
return !!v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( std::nullptr_t, T const & v )
|
||||
{
|
||||
return !!v;
|
||||
}
|
||||
#endif
|
||||
)";
|
||||
|
||||
|
@ -17707,4 +17707,55 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
// operators to compare vk::-handles
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator<=>( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) <=> static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
#else
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) == static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) != static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator<( T const & lhs, T const & rhs )
|
||||
{
|
||||
return static_cast<typename T::NativeType>( lhs ) < static_cast<typename T::NativeType>( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( T const & v, std::nullptr_t )
|
||||
{
|
||||
return !v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator==( std::nullptr_t, T const & v )
|
||||
{
|
||||
return !v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( T const & v, std::nullptr_t )
|
||||
{
|
||||
return !!v;
|
||||
}
|
||||
|
||||
template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
|
||||
bool operator!=( std::nullptr_t, T const & v )
|
||||
{
|
||||
return !!v;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user