Browse Source

GCC 4.4 compatibility: no lambdas.

The fugly lambda probably wasn't good idea anyway. So much ugly stuff
just to avoid having mutable variable doesn't cut it.
Vladimír Vondruš 12 years ago
parent
commit
35d0ef2e2c
  1. 15
      src/MagnumPlugins/ObjImporter/ObjImporter.cpp

15
src/MagnumPlugins/ObjImporter/ObjImporter.cpp

@ -371,15 +371,16 @@ std::optional<MeshData3D> ObjImporter::doMesh3D(UnsignedInt id) {
} }
/* Ignore unsupported keywords, error out on unknown keywords */ /* Ignore unsupported keywords, error out on unknown keywords */
} else if(![&keyword](){ } else {
/* Using lambda to emulate for-else construct like in Python */ bool valid = false;
const std::initializer_list<std::string> expected{"mtllib", "usemtl", "g", "s"}; const std::initializer_list<std::string> expected{"mtllib", "usemtl", "g", "s"};
for(auto it = expected.begin(); it != expected.end(); ++it) for(auto it = expected.begin(); it != expected.end(); ++it)
if(keyword == *it) return true; if(keyword == *it) valid = true;
return false;
}()) { if(!valid) {
Error() << "Trade::ObjImporter::mesh3D(): unknown keyword" << keyword; Error() << "Trade::ObjImporter::mesh3D(): unknown keyword" << keyword;
return std::nullopt; return std::nullopt;
}
} }
}} catch(std::exception) { }} catch(std::exception) {

Loading…
Cancel
Save