Merge topic 'cxx23'

a0fabc4769 cmGlobalGeneratorFactory: Provide complete cmGlobalGenerator to deleter
85627a93c9 cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publicly
641c02a3ce cmList: Avoid using operator-> on input iterator
e4483b8871 Tests: Avoid compiling call to dap::optional<dap::string>(nullptr)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8950
This commit is contained in:
Brad King
2023-11-08 15:31:41 +00:00
committed by Kitware Robot
6 changed files with 17 additions and 14 deletions
+10
View File
@@ -3,11 +3,13 @@
#include "cmCTestBuildCommand.h"
#include <sstream>
#include <utility>
#include <cmext/string_view>
#include "cmCTest.h"
#include "cmCTestBuildHandler.h"
#include "cmCommand.h"
#include "cmGlobalGenerator.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
@@ -18,6 +20,14 @@
class cmExecutionStatus;
std::unique_ptr<cmCommand> cmCTestBuildCommand::Clone()
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
void cmCTestBuildCommand::BindArguments()
{
this->cmCTestHandlerCommand::BindArguments();
+2 -9
View File
@@ -5,14 +5,13 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include <string>
#include <utility>
#include <vector>
#include <cm/memory>
#include "cmCTestHandlerCommand.h"
#include "cmCommand.h"
class cmCommand;
class cmCTestBuildHandler;
class cmCTestGenericHandler;
class cmExecutionStatus;
@@ -31,13 +30,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
std::unique_ptr<cmCommand> Clone() override
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
std::unique_ptr<cmCommand> Clone() override;
/**
* The name of the command as specified in CMakeList.txt.
+1 -1
View File
@@ -5,6 +5,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include "cmDocumentationEntry.h" // IWYU pragma: export
#include "cmGlobalGenerator.h" // IWYU pragma: keep
// TODO The following headers are parts of the `cmGlobalGeneratorFactory`
// public API, so could be defined as export to IWYU
@@ -13,7 +14,6 @@
#include <cm/memory>
class cmGlobalGenerator;
class cmake;
/** \class cmGlobalGeneratorFactory
+1 -1
View File
@@ -1192,7 +1192,7 @@ private:
}
} else {
for (; first != last; ++first) {
if (!first->empty() || emptyElements == EmptyElements::Yes) {
if (!(*first).empty() || emptyElements == EmptyElements::Yes) {
insertPos = container.insert(insertPos, *first);
++insertPos;
}