@@ -93,6 +93,7 @@ static void serializeCommonAttributes(const Info &I, json::Object &Obj,
93
93
if (!I.Description .empty ()) {
94
94
json::Value DescArray = json::Array ();
95
95
auto &DescArrayRef = *DescArray.getAsArray ();
96
+ DescArrayRef.reserve (I.Description .size ());
96
97
for (const auto &Comment : I.Description )
97
98
DescArrayRef.push_back (serializeComment (Comment));
98
99
Obj[" Description" ] = DescArray;
@@ -122,6 +123,7 @@ static void serializeReference(const SmallVector<Reference, 4> &References,
122
123
Object &Obj, std::string Key) {
123
124
json::Value ReferencesArray = Array ();
124
125
json::Array &ReferencesArrayRef = *ReferencesArray.getAsArray ();
126
+ ReferencesArrayRef.reserve (References.size ());
125
127
for (const auto & Reference : References) {
126
128
json::Value ReferenceVal = Object ();
127
129
auto &ReferenceObj = *ReferenceVal.getAsObject ();
@@ -140,6 +142,7 @@ static void serializeCommonChildren(const ScopeChildren &Children,
140
142
if (!Children.Enums .empty ()) {
141
143
json::Value EnumsArray = Array ();
142
144
auto &EnumsArrayRef = *EnumsArray.getAsArray ();
145
+ EnumsArrayRef.reserve (Children.Enums .size ());
143
146
for (const auto &Enum : Children.Enums ) {
144
147
json::Value EnumVal = Object ();
145
148
auto &EnumObj = *EnumVal.getAsObject ();
@@ -152,6 +155,7 @@ static void serializeCommonChildren(const ScopeChildren &Children,
152
155
if (!Children.Typedefs .empty ()) {
153
156
json::Value TypedefsArray = Array ();
154
157
auto &TypedefsArrayRef = *TypedefsArray.getAsArray ();
158
+ TypedefsArrayRef.reserve (Children.Typedefs .size ());
155
159
for (const auto &Typedef : Children.Typedefs ) {
156
160
json::Value TypedefVal = Object ();
157
161
auto &TypedefObj = *TypedefVal.getAsObject ();
@@ -164,6 +168,7 @@ static void serializeCommonChildren(const ScopeChildren &Children,
164
168
if (!Children.Records .empty ()) {
165
169
json::Value RecordsArray = Array ();
166
170
auto &RecordsArrayRef = *RecordsArray.getAsArray ();
171
+ RecordsArrayRef.reserve (Children.Records .size ());
167
172
for (const auto &Record : Children.Records ) {
168
173
json::Value RecordVal = Object ();
169
174
auto &RecordObj = *RecordVal.getAsObject ();
@@ -187,6 +192,7 @@ static void serializeInfo(const TemplateInfo &Template, Object &Obj) {
187
192
if (!Template.Specialization ->Params .empty ()) {
188
193
json::Value ParamsArray = Array ();
189
194
auto &ParamsArrayRef = *ParamsArray.getAsArray ();
195
+ ParamsArrayRef.reserve (Template.Specialization ->Params .size ());
190
196
for (const auto &Param : Template.Specialization ->Params )
191
197
ParamsArrayRef.push_back (Param.Contents );
192
198
TemplateSpecializationObj[" Parameters" ] = ParamsArray;
@@ -197,6 +203,7 @@ static void serializeInfo(const TemplateInfo &Template, Object &Obj) {
197
203
if (!Template.Params .empty ()) {
198
204
json::Value ParamsArray = Array ();
199
205
auto &ParamsArrayRef = *ParamsArray.getAsArray ();
206
+ ParamsArrayRef.reserve (Template.Params .size ());
200
207
for (const auto &Param : Template.Params )
201
208
ParamsArrayRef.push_back (Param.Contents );
202
209
TemplateObj[" Parameters" ] = ParamsArray;
@@ -225,6 +232,7 @@ static void serializeInfo(const FunctionInfo &F, json::Object &Obj,
225
232
if (!F.Params .empty ()) {
226
233
json::Value ParamsArray = json::Array ();
227
234
auto &ParamsArrayRef = *ParamsArray.getAsArray ();
235
+ ParamsArrayRef.reserve (F.Params .size ());
228
236
for (const auto &Param : F.Params ) {
229
237
json::Value ParamVal = Object ();
230
238
auto &ParamObj = *ParamVal.getAsObject ();
@@ -256,6 +264,7 @@ static void serializeInfo(const EnumInfo &I, json::Object &Obj,
256
264
if (!I.Members .empty ()) {
257
265
json::Value MembersArray = Array ();
258
266
auto &MembersArrayRef = *MembersArray.getAsArray ();
267
+ MembersArrayRef.reserve (I.Members .size ());
259
268
for (const auto &Member : I.Members ) {
260
269
json::Value MemberVal = Object ();
261
270
auto &MemberObj = *MemberVal.getAsObject ();
@@ -338,6 +347,7 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj,
338
347
if (!I.Bases .empty ()) {
339
348
json::Value BasesArray = Array ();
340
349
json::Array &BasesArrayRef = *BasesArray.getAsArray ();
350
+ BasesArrayRef.reserve (I.Bases .size ());
341
351
for (const auto &BaseInfo : I.Bases ) {
342
352
json::Value BaseInfoVal = Object ();
343
353
auto &BaseInfoObj = *BaseInfoVal.getAsObject ();
0 commit comments