C++ generator: Pre-allocating std::vector in UnPack methods. (#4187)

This commit is contained in:
Louis-Paul CORDIER
2017-02-26 07:10:17 +01:00
committed by Wouter van Oortmerssen
parent 17c5f89d4f
commit bb223da258
3 changed files with 12 additions and 11 deletions

View File

@@ -1509,12 +1509,13 @@ class CppGenerator : public BaseGenerator {
// for (uoffset_t i = 0; i < _e->size(); ++i) {
// _o->field.push_back(_e->Get(_i));
// }
code += "{ _o->" + field.name + ".resize(_e->size()); ";
code += "for (flatbuffers::uoffset_t _i = 0;";
code += " _i < _e->size(); _i++) { ";
code += "_o->" + field.name + ".push_back(";
code += "_o->" + field.name + "[_i] = ";
code += GenUnpackVal(field.value.type.VectorType(),
indexing, true, field);
code += "); }";
code += "; } }";
break;
}
case BASE_TYPE_UTYPE: {