Browse Source

find_package: Use map::emplace instead of make_pair

Replace map::insert(make_pair(...) with map::emplace(...). This should
be slightly more efficient, but also removes one of only two uses of
std::pair. (Upcoming changes are going to remove the other, which will
let us drop use of <utility>.)
Matthew Woehlke 11 months ago
parent
commit
bd542748af
1 changed files with 4 additions and 8 deletions
  1. 4 8
      Source/cmFindPackageCommand.cxx

+ 4 - 8
Source/cmFindPackageCommand.cxx

@@ -549,14 +549,10 @@ void cmFindPackageCommand::AppendSearchPathGroups()
                  PathLabel::SystemRegistry);
                  PathLabel::SystemRegistry);
 
 
   // Create the new path objects
   // Create the new path objects
-  this->LabeledPaths.insert(
-    std::make_pair(PathLabel::PackageRedirect, cmSearchPath(this)));
-  this->LabeledPaths.insert(
-    std::make_pair(PathLabel::UserRegistry, cmSearchPath(this)));
-  this->LabeledPaths.insert(
-    std::make_pair(PathLabel::Builds, cmSearchPath(this)));
-  this->LabeledPaths.insert(
-    std::make_pair(PathLabel::SystemRegistry, cmSearchPath(this)));
+  this->LabeledPaths.emplace(PathLabel::PackageRedirect, cmSearchPath{ this });
+  this->LabeledPaths.emplace(PathLabel::UserRegistry, cmSearchPath{ this });
+  this->LabeledPaths.emplace(PathLabel::Builds, cmSearchPath{ this });
+  this->LabeledPaths.emplace(PathLabel::SystemRegistry, cmSearchPath{ this });
 }
 }
 
 
 bool cmFindPackageCommand::InitialPass(std::vector<std::string> const& args)
 bool cmFindPackageCommand::InitialPass(std::vector<std::string> const& args)