diff options
author | Pavel Solodovnikov <pa.solodovnikov@tensor.ru> | 2018-01-25 13:59:33 (GMT) |
---|---|---|
committer | Pavel Solodovnikov <pa.solodovnikov@tensor.ru> | 2018-01-26 10:24:45 (GMT) |
commit | c85bb007df37aad9f20355cdf4d7ca9af562cb20 (patch) | |
tree | 97027a278ef535cbb277ae91aa4c2eb620cb6978 /Source/cmInstallCommand.cxx | |
parent | fa3ac83af0edf958d26b246109db6e3d6d128d70 (diff) | |
download | CMake-c85bb007df37aad9f20355cdf4d7ca9af562cb20.zip CMake-c85bb007df37aad9f20355cdf4d7ca9af562cb20.tar.gz CMake-c85bb007df37aad9f20355cdf4d7ca9af562cb20.tar.bz2 |
Reduce allocation of temporary values on heap.
- Use `std::move` while inserting temporary results into vectors.
- Change `push_back` to `emplace_back` where appropriate.
Diffstat (limited to 'Source/cmInstallCommand.cxx')
-rw-r--r-- | Source/cmInstallCommand.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 685fc67..208f0ad 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -5,6 +5,7 @@ #include "cmsys/Glob.hxx" #include <sstream> #include <stddef.h> +#include <utility> #include "cmAlgorithms.h" #include "cmCommandArgumentsHelper.h" @@ -1061,7 +1062,7 @@ bool cmInstallCommand::HandleDirectoryMode( } // Store the directory for installation. - dirs.push_back(dir); + dirs.push_back(std::move(dir)); } else if (doing == DoingConfigurations) { configurations.push_back(args[i]); } else if (doing == DoingDestination) { @@ -1133,7 +1134,7 @@ bool cmInstallCommand::HandleDirectoryMode( // Support installing an empty directory. if (dirs.empty() && destination) { - dirs.push_back(""); + dirs.emplace_back(); } // Check if there is something to do. @@ -1388,7 +1389,7 @@ bool cmInstallCommand::MakeFilesFullPath( return false; } // Store the file for installation. - absFiles.push_back(file); + absFiles.push_back(std::move(file)); } return true; } |