Merge pull request #667 from asuessenbach/663

Guard use of ArrayProxyNoTemporaries with structure setter functions
This commit is contained in:
Andreas Süßenbach 2020-07-09 14:19:44 +02:00 committed by GitHub
commit ad7cbb2c77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 295 additions and 1 deletions

View File

@ -3934,7 +3934,7 @@ void VulkanHppGenerator::appendStructSetter( std::string & str
std::string templateHeader;
if ( member.type.type == "void" )
{
templateHeader = "template <typename T>\n";
templateHeader = "template <typename T>\n ";
size_t pos = memberType.find( "void" );
assert( pos != std::string::npos );
@ -3952,12 +3952,14 @@ void VulkanHppGenerator::appendStructSetter( std::string & str
}
static const std::string setArrayTemplate = R"(
#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
${templateHeader}${structureName} & set${ArrayName}( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<${memberType}> const & ${arrayName}_ ) VULKAN_HPP_NOEXCEPT
{
${lenName} = ${lenValue};
${memberName} = ${arrayName}_.data();
return *this;
}
#endif // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
)";
str += replaceWithMap( setArrayTemplate,

File diff suppressed because it is too large Load Diff