forked from BigfootDev/flatbuffers
C++ generator: Pre-allocating std::vector in UnPack methods. (#4187)
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
17c5f89d4f
commit
bb223da258
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user