Filter out functions Structure::setSType(), as the structure types are supposed to be immutable. (#60)

This commit is contained in:
Andreas Süßenbach
2017-01-30 17:08:49 +01:00
committed by Markus Tavenrath
parent ae2e22e506
commit 02404f397d
2 changed files with 21 additions and 486 deletions

View File

@@ -2726,29 +2726,32 @@ void writeStructConstructor( std::ofstream & ofs, std::string const& name, Struc
void writeStructSetter( std::ofstream & ofs, std::string const& name, MemberData const& memberData, std::set<std::string> const& vkTypes )
{
ofs << " " << name << "& set" << static_cast<char>(toupper(memberData.name[0])) << memberData.name.substr(1) << "( ";
if ( memberData.arraySize.empty() )
if (memberData.type != "StructureType") // filter out StructureType, which is supposed to be immutable !
{
ofs << memberData.type << " ";
}
else
{
ofs << "std::array<" << memberData.type << "," << memberData.arraySize << "> ";
}
ofs << memberData.name << "_ )" << std::endl
ofs << " " << name << "& set" << static_cast<char>(toupper(memberData.name[0])) << memberData.name.substr(1) << "( ";
if (memberData.arraySize.empty())
{
ofs << memberData.type << " ";
}
else
{
ofs << "std::array<" << memberData.type << "," << memberData.arraySize << "> ";
}
ofs << memberData.name << "_ )" << std::endl
<< " {" << std::endl;
if ( !memberData.arraySize.empty() )
{
ofs << " memcpy( &" << memberData.name << ", " << memberData.name << "_.data(), " << memberData.arraySize << " * sizeof( " << memberData.type << " ) )";
}
else
{
ofs << " " << memberData.name << " = " << memberData.name << "_";
}
ofs << ";" << std::endl
if (!memberData.arraySize.empty())
{
ofs << " memcpy( &" << memberData.name << ", " << memberData.name << "_.data(), " << memberData.arraySize << " * sizeof( " << memberData.type << " ) )";
}
else
{
ofs << " " << memberData.name << " = " << memberData.name << "_";
}
ofs << ";" << std::endl
<< " return *this;" << std::endl
<< " }" << std::endl
<< std::endl;
}
}
void writeTypeCommand(std::ofstream & ofs, VkData const& vkData, DependencyData const& dependencyData)