mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-14 06:23:07 -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}
|
${uniqueHandles}
|
||||||
${handles}
|
${handles}
|
||||||
} // namespace VULKAN_HPP_NAMESPACE
|
} // 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
|
#endif
|
||||||
)";
|
)";
|
||||||
|
|
||||||
|
@ -17707,4 +17707,55 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||||
|
|
||||||
} // namespace VULKAN_HPP_NAMESPACE
|
} // 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
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user