mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-12 21:38:42 -04:00
Re-add compare operators of vk-handles, needed for 32bit builds. (#2010)
This commit is contained in:
parent
20ecea9574
commit
c2c49478e9
@ -228,11 +228,62 @@ void VulkanHppGenerator::generateHandlesHppFile() const
|
||||
|
||||
namespace VULKAN_HPP_NAMESPACE
|
||||
{
|
||||
${structForwardDeclarations}
|
||||
${handleForwardDeclarations}
|
||||
${uniqueHandles}
|
||||
${handles}
|
||||
${structForwardDeclarations}
|
||||
${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
|
||||
)";
|
||||
|
||||
@ -8018,7 +8069,7 @@ ${typesafeConversionConditionalEnd}
|
||||
return *this;
|
||||
}
|
||||
|
||||
${commands}
|
||||
${commands}
|
||||
${typesafeExplicitKeyword}operator Vk${className}() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_${memberName};
|
||||
|
@ -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