Extend check for function pointers on creating compare operators of structs. (#1348)

This commit is contained in:
Andreas Süßenbach 2022-07-07 11:41:43 +02:00 committed by GitHub
parent 9748e47228
commit fac74444fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9050,9 +9050,10 @@ std::string VulkanHppGenerator::generateStructCompareOperators( std::pair<std::s
std::string compareBody, spaceshipOperator, spaceshipOperatorIf, spaceshipOperatorElse, spaceshipOperatorEndif; std::string compareBody, spaceshipOperator, spaceshipOperatorIf, spaceshipOperatorElse, spaceshipOperatorEndif;
if ( nonDefaultCompare ) if ( nonDefaultCompare )
{ {
assert( !containsFuncPointer( structData.first ) );
compareBody = " return " + compareMembers + ";"; compareBody = " return " + compareMembers + ";";
if ( !containsFuncPointer( structData.first ) )
{
static const std::string spaceshipOperatorTemplate = static const std::string spaceshipOperatorTemplate =
R"( ${ordering} operator<=>( ${name} const & rhs ) const VULKAN_HPP_NOEXCEPT R"( ${ordering} operator<=>( ${name} const & rhs ) const VULKAN_HPP_NOEXCEPT
{ {
@ -9065,6 +9066,7 @@ ${spaceshipMembers}
spaceshipOperatorElse = "#endif\n"; spaceshipOperatorElse = "#endif\n";
spaceshipOperatorEndif = ""; spaceshipOperatorEndif = "";
} }
}
else else
{ {
// use reflection only if VULKAN_HPP_USE_REFLECT is defined // use reflection only if VULKAN_HPP_USE_REFLECT is defined