Sfoglia il codice sorgente

fix clang-tidy warning performance-inefficient-vector-operation

Fabian Peter Hammerle 6 anni fa
parent
commit
131e016a06
2 ha cambiato i file con 5 aggiunte e 6 eliminazioni
  1. 0 1
      .clang-tidy
  2. 5 5
      lib/HdfFile.cpp

+ 0 - 1
.clang-tidy

@@ -32,6 +32,5 @@ WarningsAsErrors: >-
   -cppcoreguidelines-pro-bounds-pointer-arithmetic,
   -cppcoreguidelines-pro-type-member-init,
   -modernize-use-noexcept,
-  -performance-inefficient-vector-operation,
   -performance-move-const-arg,
   -performance-noexcept-move-constructor,

+ 5 - 5
lib/HdfFile.cpp

@@ -125,14 +125,14 @@ std::vector<int32> hdf4cpp::HdfFile::getGroupDataIds(const std::string &name) co
     return ids;
 }
 std::vector<hdf4cpp::HdfItem> hdf4cpp::HdfFile::getAll(const std::string &name) const {
+    const std::vector<int32> &dataset_ids = getDatasetIds(name);
+    const std::vector<int32> &group_ids = getGroupDataIds(name);
     std::vector<HdfItem> items;
-    std::vector<int32> ids;
-    ids = getDatasetIds(name);
-    for (const auto &id : ids) {
+    items.reserve(dataset_ids.size() + group_ids.size());
+    for (auto &id : dataset_ids) {
         items.push_back(HdfItem(new HdfItem::HdfDatasetItem(id, chain), sId, vId));
     }
-    ids = getGroupDataIds(name);
-    for (const auto &id : ids) {
+    for (auto &id : group_ids) {
         items.push_back(HdfItem(new HdfItem::HdfGroupItem(id, chain), sId, vId));
     }
     return items;