| 3287 | namespace { |
| 3288 | |
| 3289 | FieldVector FieldsFromArraysAndNames(std::vector<std::string> names, |
| 3290 | const ArrayVector& arrays) { |
| 3291 | FieldVector fields(arrays.size()); |
| 3292 | int i = 0; |
| 3293 | if (names.empty()) { |
| 3294 | for (const auto& array : arrays) { |
| 3295 | fields[i] = field(internal::ToChars(i), array->type()); |
| 3296 | ++i; |
| 3297 | } |
| 3298 | } else { |
| 3299 | DCHECK_EQ(names.size(), arrays.size()); |
| 3300 | for (const auto& array : arrays) { |
| 3301 | fields[i] = field(std::move(names[i]), array->type()); |
| 3302 | ++i; |
| 3303 | } |
| 3304 | } |
| 3305 | return fields; |
| 3306 | } |
| 3307 | |
| 3308 | } // namespace |
| 3309 | |