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
@ -228,11 +228,62 @@ void VulkanHppGenerator::generateHandlesHppFile() const
|
|||||||
|
|
||||||
namespace VULKAN_HPP_NAMESPACE
|
namespace VULKAN_HPP_NAMESPACE
|
||||||
{
|
{
|
||||||
${structForwardDeclarations}
|
${structForwardDeclarations}
|
||||||
${handleForwardDeclarations}
|
${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
|
||||||
)";
|
)";
|
||||||
|
|
||||||
@ -8018,7 +8069,7 @@ ${typesafeConversionConditionalEnd}
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
${commands}
|
${commands}
|
||||||
${typesafeExplicitKeyword}operator Vk${className}() const VULKAN_HPP_NOEXCEPT
|
${typesafeExplicitKeyword}operator Vk${className}() const VULKAN_HPP_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_${memberName};
|
return m_${memberName};
|
||||||
|
@ -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