mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-01 12:18:36 -06:00
Avoid some copies
This commit is contained in:
@@ -247,7 +247,10 @@ public:
|
||||
|
||||
void StopWatching() final {}
|
||||
|
||||
void AppendCallback(cmFileMonitor::Callback cb) { CbList.push_back(cb); }
|
||||
void AppendCallback(cmFileMonitor::Callback const& cb)
|
||||
{
|
||||
this->CbList.push_back(cb);
|
||||
}
|
||||
|
||||
std::string Path() const final
|
||||
{
|
||||
@@ -310,7 +313,7 @@ cmFileMonitor::~cmFileMonitor()
|
||||
}
|
||||
|
||||
void cmFileMonitor::MonitorPaths(const std::vector<std::string>& paths,
|
||||
Callback cb)
|
||||
Callback const& cb)
|
||||
{
|
||||
for (const auto& p : paths) {
|
||||
std::vector<std::string> pathSegments;
|
||||
|
||||
@@ -17,7 +17,7 @@ public:
|
||||
~cmFileMonitor();
|
||||
|
||||
using Callback = std::function<void(const std::string&, int, int)>;
|
||||
void MonitorPaths(const std::vector<std::string>& paths, Callback cb);
|
||||
void MonitorPaths(const std::vector<std::string>& paths, Callback const& cb);
|
||||
void StopMonitoring();
|
||||
|
||||
std::vector<std::string> WatchedFiles() const;
|
||||
|
||||
@@ -963,7 +963,7 @@ void cmGlobalUnixMakefileGenerator3::WriteHelpRule(
|
||||
(type == cmStateEnums::OBJECT_LIBRARY) ||
|
||||
(type == cmStateEnums::GLOBAL_TARGET) ||
|
||||
(type == cmStateEnums::UTILITY)) {
|
||||
std::string name = target->GetName();
|
||||
std::string const& name = target->GetName();
|
||||
if (emittedTargets.insert(name).second) {
|
||||
path = "... ";
|
||||
path += name;
|
||||
|
||||
@@ -180,26 +180,23 @@ protected:
|
||||
while (cmSystemTools::GetLineFromStream(fin, line)) {
|
||||
if (cmHasLiteralPrefix(line.c_str(), "#include")) {
|
||||
// if it is an include line then create a string class
|
||||
std::string currentline = line;
|
||||
size_t qstart = currentline.find('\"', 8);
|
||||
size_t qstart = line.find('\"', 8);
|
||||
size_t qend;
|
||||
// if a quote is not found look for a <
|
||||
if (qstart == std::string::npos) {
|
||||
qstart = currentline.find('<', 8);
|
||||
qstart = line.find('<', 8);
|
||||
// if a < is not found then move on
|
||||
if (qstart == std::string::npos) {
|
||||
cmSystemTools::Error("unknown include directive ",
|
||||
currentline.c_str());
|
||||
cmSystemTools::Error("unknown include directive ", line.c_str());
|
||||
continue;
|
||||
} else {
|
||||
qend = currentline.find('>', qstart + 1);
|
||||
qend = line.find('>', qstart + 1);
|
||||
}
|
||||
} else {
|
||||
qend = currentline.find('\"', qstart + 1);
|
||||
qend = line.find('\"', qstart + 1);
|
||||
}
|
||||
// extract the file being included
|
||||
std::string includeFile =
|
||||
currentline.substr(qstart + 1, qend - qstart - 1);
|
||||
std::string includeFile = line.substr(qstart + 1, qend - qstart - 1);
|
||||
// see if the include matches the regular expression
|
||||
if (!this->IncludeFileRegularExpression.find(includeFile)) {
|
||||
if (this->Verbose) {
|
||||
|
||||
@@ -82,7 +82,7 @@ static void getCMakeInputs(const cmGlobalGenerator* gg,
|
||||
std::vector<std::string>* tmpFiles)
|
||||
{
|
||||
const std::string cmakeRootDir = cmSystemTools::GetCMakeRoot() + '/';
|
||||
const std::vector<cmMakefile*> makefiles = gg->GetMakefiles();
|
||||
std::vector<cmMakefile*> const& makefiles = gg->GetMakefiles();
|
||||
for (auto it = makefiles.begin(); it != makefiles.end(); ++it) {
|
||||
const std::vector<std::string> listFiles = (*it)->GetListFiles();
|
||||
|
||||
@@ -850,7 +850,7 @@ static Json::Value DumpTargetsList(
|
||||
return result;
|
||||
}
|
||||
|
||||
static Json::Value DumpProjectList(const cmake* cm, const std::string config)
|
||||
static Json::Value DumpProjectList(const cmake* cm, std::string const& config)
|
||||
{
|
||||
Json::Value result = Json::arrayValue;
|
||||
|
||||
@@ -1059,7 +1059,7 @@ cmServerResponse cmServerProtocol1_0::ProcessGlobalSettings(
|
||||
}
|
||||
|
||||
static void setBool(const cmServerRequest& request, const std::string& key,
|
||||
std::function<void(bool)> setter)
|
||||
std::function<void(bool)> const& setter)
|
||||
{
|
||||
if (request.Data[key].isNull()) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user