clang-tidy: Use = delete

This commit is contained in:
Regina Pfeifer 2019-01-23 20:30:01 +01:00 committed by Brad King
parent d75fec5a88
commit b05b778a2d
58 changed files with 209 additions and 139 deletions

View File

@ -14,7 +14,6 @@ modernize-*,\
-modernize-raw-string-literal,\
-modernize-return-braced-init-list,\
-modernize-use-auto,\
-modernize-use-equals-delete,\
-modernize-use-noexcept,\
-modernize-use-transparent-functors,\
-modernize-use-using,\

View File

@ -30,16 +30,6 @@ building on older toolchains some constructs need to be handled with care:
The ``std::auto_ptr`` template is deprecated in C++11. Use ``std::unique_ptr``.
* Use ``CM_DISABLE_COPY(Class)`` to mark classes as non-copyable.
The ``CM_DISABLE_COPY`` macro should be used in the private section of a
class to make sure that attempts to copy or assign an instance of the class
lead to compiler errors even if the compiler does not support *deleted*
functions. As a guideline, all polymorphic classes should be made
non-copyable in order to avoid slicing. Classes that are composed of or
derived from non-copyable classes must also be made non-copyable explicitly
with ``CM_DISABLE_COPY``.
Source Tree Layout
==================

View File

@ -12,11 +12,12 @@ class cmCursesMainForm;
class cmCursesBoolWidget : public cmCursesWidget
{
CM_DISABLE_COPY(cmCursesBoolWidget)
public:
cmCursesBoolWidget(int width, int height, int left, int top);
cmCursesBoolWidget(cmCursesBoolWidget const&) = delete;
cmCursesBoolWidget& operator=(cmCursesBoolWidget const&) = delete;
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was

View File

@ -13,14 +13,17 @@ class cmake;
class cmCursesCacheEntryComposite
{
CM_DISABLE_COPY(cmCursesCacheEntryComposite)
public:
cmCursesCacheEntryComposite(const std::string& key, int labelwidth,
int entrywidth);
cmCursesCacheEntryComposite(const std::string& key, cmake* cm, bool isNew,
int labelwidth, int entrywidth);
~cmCursesCacheEntryComposite();
cmCursesCacheEntryComposite(cmCursesCacheEntryComposite const&) = delete;
cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite const&) =
delete;
const char* GetValue();
friend class cmCursesMainForm;

View File

@ -12,11 +12,12 @@ class cmCursesMainForm;
class cmCursesDummyWidget : public cmCursesWidget
{
CM_DISABLE_COPY(cmCursesDummyWidget)
public:
cmCursesDummyWidget(int width, int height, int left, int top);
cmCursesDummyWidget(cmCursesDummyWidget const&) = delete;
cmCursesDummyWidget& operator=(cmCursesDummyWidget const&) = delete;
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was

View File

@ -9,10 +9,11 @@
class cmCursesFilePathWidget : public cmCursesPathWidget
{
CM_DISABLE_COPY(cmCursesFilePathWidget)
public:
cmCursesFilePathWidget(int width, int height, int left, int top);
cmCursesFilePathWidget(cmCursesFilePathWidget const&) = delete;
cmCursesFilePathWidget& operator=(cmCursesFilePathWidget const&) = delete;
};
#endif // cmCursesFilePathWidget_h

View File

@ -11,12 +11,13 @@
class cmCursesForm
{
CM_DISABLE_COPY(cmCursesForm)
public:
cmCursesForm();
virtual ~cmCursesForm();
cmCursesForm(cmCursesForm const&) = delete;
cmCursesForm& operator=(cmCursesForm const&) = delete;
// Description:
// Handle user input.
virtual void HandleInput() = 0;

View File

@ -14,13 +14,14 @@ class cmCursesMainForm;
class cmCursesLabelWidget : public cmCursesWidget
{
CM_DISABLE_COPY(cmCursesLabelWidget)
public:
cmCursesLabelWidget(int width, int height, int left, int top,
const std::string& name);
~cmCursesLabelWidget() override;
cmCursesLabelWidget(cmCursesLabelWidget const&) = delete;
cmCursesLabelWidget& operator=(cmCursesLabelWidget const&) = delete;
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was

View File

@ -13,13 +13,14 @@
class cmCursesLongMessageForm : public cmCursesForm
{
CM_DISABLE_COPY(cmCursesLongMessageForm)
public:
cmCursesLongMessageForm(std::vector<std::string> const& messages,
const char* title);
~cmCursesLongMessageForm() override;
cmCursesLongMessageForm(cmCursesLongMessageForm const&) = delete;
cmCursesLongMessageForm& operator=(cmCursesLongMessageForm const&) = delete;
// Description:
// Handle user input.
void HandleInput() override;

View File

@ -23,12 +23,13 @@ class cmake;
*/
class cmCursesMainForm : public cmCursesForm
{
CM_DISABLE_COPY(cmCursesMainForm)
public:
cmCursesMainForm(std::vector<std::string> args, int initwidth);
~cmCursesMainForm() override;
cmCursesMainForm(cmCursesMainForm const&) = delete;
cmCursesMainForm& operator=(cmCursesMainForm const&) = delete;
/**
* Set the widgets which represent the cache entries.
*/

View File

@ -15,11 +15,12 @@ class cmCursesMainForm;
class cmCursesOptionsWidget : public cmCursesWidget
{
CM_DISABLE_COPY(cmCursesOptionsWidget)
public:
cmCursesOptionsWidget(int width, int height, int left, int top);
cmCursesOptionsWidget(cmCursesOptionsWidget const&) = delete;
cmCursesOptionsWidget& operator=(cmCursesOptionsWidget const&) = delete;
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was

View File

@ -14,11 +14,12 @@ class cmCursesMainForm;
class cmCursesPathWidget : public cmCursesStringWidget
{
CM_DISABLE_COPY(cmCursesPathWidget)
public:
cmCursesPathWidget(int width, int height, int left, int top);
cmCursesPathWidget(cmCursesPathWidget const&) = delete;
cmCursesPathWidget& operator=(cmCursesPathWidget const&) = delete;
/**
* This method is called when different keys are pressed. The
* subclass can have a special implementation handler for this.

View File

@ -20,11 +20,12 @@ class cmCursesMainForm;
class cmCursesStringWidget : public cmCursesWidget
{
CM_DISABLE_COPY(cmCursesStringWidget)
public:
cmCursesStringWidget(int width, int height, int left, int top);
cmCursesStringWidget(cmCursesStringWidget const&) = delete;
cmCursesStringWidget& operator=(cmCursesStringWidget const&) = delete;
/**
* Handle user input. Called by the container of this widget
* when this widget has focus. Returns true if the input was

View File

@ -14,12 +14,13 @@ class cmCursesMainForm;
class cmCursesWidget
{
CM_DISABLE_COPY(cmCursesWidget)
public:
cmCursesWidget(int width, int height, int left, int top);
virtual ~cmCursesWidget();
cmCursesWidget(cmCursesWidget const&) = delete;
cmCursesWidget& operator=(cmCursesWidget const&) = delete;
/**
* Handle user input. Called by the container of this widget
* when this widget has focus. Returns true if the input was

View File

@ -10,12 +10,14 @@
class cmCLocaleEnvironmentScope
{
CM_DISABLE_COPY(cmCLocaleEnvironmentScope)
public:
cmCLocaleEnvironmentScope();
~cmCLocaleEnvironmentScope();
cmCLocaleEnvironmentScope(cmCLocaleEnvironmentScope const&) = delete;
cmCLocaleEnvironmentScope& operator=(cmCLocaleEnvironmentScope const&) =
delete;
private:
std::string GetEnv(std::string const& key);
void SetEnv(std::string const& key, std::string const& value);

View File

@ -20,13 +20,15 @@ class cmLocalGenerator;
*/
class cmCPackPropertiesGenerator : public cmScriptGenerator
{
CM_DISABLE_COPY(cmCPackPropertiesGenerator)
public:
cmCPackPropertiesGenerator(cmLocalGenerator* lg,
cmInstalledFile const& installedFile,
std::vector<std::string> const& configurations);
cmCPackPropertiesGenerator(cmCPackPropertiesGenerator const&) = delete;
cmCPackPropertiesGenerator& operator=(cmCPackPropertiesGenerator const&) =
delete;
protected:
void GenerateScriptForConfig(std::ostream& os, const std::string& config,
Indent indent) override;

View File

@ -24,8 +24,6 @@ struct cmListFileArgument;
*/
class cmCommand
{
CM_DISABLE_COPY(cmCommand)
public:
/**
* Construct the command. By default it has no makefile.
@ -37,6 +35,9 @@ public:
*/
virtual ~cmCommand() = default;
cmCommand(cmCommand const&) = delete;
cmCommand& operator=(cmCommand const&) = delete;
/**
* Specify the makefile.
*/

View File

@ -12,8 +12,6 @@ class cmMakefile;
class cmCommandArgumentParserHelper
{
CM_DISABLE_COPY(cmCommandArgumentParserHelper)
public:
struct ParserType
{
@ -23,6 +21,10 @@ public:
cmCommandArgumentParserHelper();
~cmCommandArgumentParserHelper();
cmCommandArgumentParserHelper(cmCommandArgumentParserHelper const&) = delete;
cmCommandArgumentParserHelper& operator=(
cmCommandArgumentParserHelper const&) = delete;
int ParseString(const char* str, int verb);
// For the lexer:

View File

@ -103,7 +103,6 @@ private:
std::vector<std::string> Vector;
unsigned int DataStart;
const char* Ignore;
cmCAStringVector();
bool DoConsume(const std::string& arg, unsigned int index) override;
void DoReset() override;
};
@ -125,7 +124,6 @@ private:
unsigned int DataStart;
bool DoConsume(const std::string& arg, unsigned int index) override;
void DoReset() override;
cmCAString();
};
/** cmCAEnabler is to be used for options which are off by default and can be
@ -143,7 +141,6 @@ private:
bool Enabled;
bool DoConsume(const std::string& arg, unsigned int index) override;
void DoReset() override;
cmCAEnabler();
};
/** cmCADisable is to be used for options which are on by default and can be
@ -161,7 +158,6 @@ private:
bool Enabled;
bool DoConsume(const std::string& arg, unsigned int index) override;
void DoReset() override;
cmCADisabler();
};
/** Group of arguments, needed for ordering. E.g. WIN32, EXCLUDE_FROM_ALL and

View File

@ -26,8 +26,4 @@
#define CM_FALLTHROUGH cmsys_FALLTHROUGH
#define CM_DISABLE_COPY(Class) \
Class(Class const&) = delete; \
Class& operator=(Class const&) = delete;
#endif

View File

@ -60,11 +60,12 @@ public:
class cmConnection
{
CM_DISABLE_COPY(cmConnection)
public:
cmConnection() = default;
cmConnection(cmConnection const&) = delete;
cmConnection& operator=(cmConnection const&) = delete;
virtual void WriteData(const std::string& data) = 0;
virtual ~cmConnection();

View File

@ -15,8 +15,6 @@
*/
class cmCryptoHash
{
CM_DISABLE_COPY(cmCryptoHash)
public:
enum Algo
{
@ -35,6 +33,9 @@ public:
cmCryptoHash(Algo algo);
~cmCryptoHash();
cmCryptoHash(cmCryptoHash const&) = delete;
cmCryptoHash& operator=(cmCryptoHash const&) = delete;
/// @brief Returns a new hash generator of the requested type
/// @arg algo Hash type name. Supported hash types are
/// MD5, SHA1, SHA224, SHA256, SHA384, SHA512,

View File

@ -24,13 +24,14 @@ class cmLocalGenerator;
*/
class cmDepends
{
CM_DISABLE_COPY(cmDepends)
public:
/** Instances need to know the build directory name and the relative
path from the build directory to the target file. */
cmDepends(cmLocalGenerator* lg = nullptr, std::string targetDir = "");
cmDepends(cmDepends const&) = delete;
cmDepends& operator=(cmDepends const&) = delete;
/** Set the local generator for the directory in which we are
scanning dependencies. This is not a full local generator; it
has been setup to do relative path conversions for the current

View File

@ -22,8 +22,6 @@ class cmLocalGenerator;
*/
class cmDependsC : public cmDepends
{
CM_DISABLE_COPY(cmDependsC)
public:
/** Checking instances need to know the build directory name and the
relative path from the build directory to the target file. */
@ -35,6 +33,9 @@ public:
/** Virtual destructor to cleanup subclasses properly. */
~cmDependsC() override;
cmDependsC(cmDependsC const&) = delete;
cmDependsC& operator=(cmDependsC const&) = delete;
protected:
// Implement writing/checking methods required by superclass.
bool WriteDependencies(const std::set<std::string>& sources,

View File

@ -21,8 +21,6 @@ class cmLocalGenerator;
*/
class cmDependsFortran : public cmDepends
{
CM_DISABLE_COPY(cmDependsFortran)
public:
/** Checking instances need to know the build directory name and the
relative path from the build directory to the target file. */
@ -37,6 +35,9 @@ public:
/** Virtual destructor to cleanup subclasses properly. */
~cmDependsFortran() override;
cmDependsFortran(cmDependsFortran const&) = delete;
cmDependsFortran& operator=(cmDependsFortran const&) = delete;
/** Callback from build system after a .mod file has been generated
by a Fortran90 compiler to copy the .mod file to the
corresponding stamp file. */

View File

@ -17,8 +17,6 @@
*/
class cmDependsJava : public cmDepends
{
CM_DISABLE_COPY(cmDependsJava)
public:
/** Checking instances need to know the build directory name and the
relative path from the build directory to the target file. */
@ -27,6 +25,9 @@ public:
/** Virtual destructor to cleanup subclasses properly. */
~cmDependsJava() override;
cmDependsJava(cmDependsJava const&) = delete;
cmDependsJava& operator=(cmDependsJava const&) = delete;
protected:
// Implement writing/checking methods required by superclass.
bool WriteDependencies(const std::set<std::string>& sources,

View File

@ -14,8 +14,6 @@
class cmDynamicLoader
{
CM_DISABLE_COPY(cmDynamicLoader)
public:
// Description:
// Load a dynamic library into the current process.

View File

@ -21,12 +21,13 @@ class cmFileLockResult;
*/
class cmFileLock
{
CM_DISABLE_COPY(cmFileLock)
public:
cmFileLock();
~cmFileLock();
cmFileLock(cmFileLock const&) = delete;
cmFileLock& operator=(cmFileLock const&) = delete;
/**
* @brief Lock the file.
* @param timeoutSec Lock timeout. If -1 try until success or fatal error.

View File

@ -13,12 +13,13 @@ class cmFileLockResult;
class cmFileLockPool
{
CM_DISABLE_COPY(cmFileLockPool)
public:
cmFileLockPool();
~cmFileLockPool();
cmFileLockPool(cmFileLockPool const&) = delete;
cmFileLockPool& operator=(cmFileLockPool const&) = delete;
//@{
/**
* @brief Function scope control.
@ -58,12 +59,13 @@ private:
class ScopePool
{
CM_DISABLE_COPY(ScopePool)
public:
ScopePool();
~ScopePool();
ScopePool(ScopePool const&) = delete;
ScopePool& operator=(ScopePool const&) = delete;
cmFileLockResult Lock(const std::string& filename,
unsigned long timeoutSec);
cmFileLockResult Release(const std::string& filename);

View File

@ -14,12 +14,14 @@ class cmRootWatcher;
class cmFileMonitor
{
CM_DISABLE_COPY(cmFileMonitor)
public:
cmFileMonitor(uv_loop_t* l);
~cmFileMonitor();
cmFileMonitor(cmFileMonitor const&) = delete;
cmFileMonitor& operator=(cmFileMonitor const&) = delete;
using Callback = std::function<void(const std::string&, int, int)>;
void MonitorPaths(const std::vector<std::string>& paths, Callback const& cb);
void StopMonitoring();

View File

@ -97,6 +97,8 @@ public:
*/
~cmGeneratedFileStream() override;
cmGeneratedFileStream(cmGeneratedFileStream const&) = delete;
/**
* Open an output file by name. This should be used only with a
* non-open stream. It automatically generates a name for the
@ -134,9 +136,6 @@ public:
* the output file to be changed during the use of cmGeneratedFileStream.
*/
void SetName(const std::string& fname);
private:
cmGeneratedFileStream(cmGeneratedFileStream const&); // not implemented
};
#endif

View File

@ -32,13 +32,14 @@ struct cmGeneratorExpressionEvaluator;
*/
class cmGeneratorExpression
{
CM_DISABLE_COPY(cmGeneratorExpression)
public:
/** Construct. */
cmGeneratorExpression(cmListFileBacktrace backtrace = cmListFileBacktrace());
~cmGeneratorExpression();
cmGeneratorExpression(cmGeneratorExpression const&) = delete;
cmGeneratorExpression& operator=(cmGeneratorExpression const&) = delete;
std::unique_ptr<cmCompiledGeneratorExpression> Parse(
std::string const& input);
std::unique_ptr<cmCompiledGeneratorExpression> Parse(const char* input);
@ -78,9 +79,13 @@ private:
class cmCompiledGeneratorExpression
{
CM_DISABLE_COPY(cmCompiledGeneratorExpression)
public:
~cmCompiledGeneratorExpression();
cmCompiledGeneratorExpression(cmCompiledGeneratorExpression const&) = delete;
cmCompiledGeneratorExpression& operator=(
cmCompiledGeneratorExpression const&) = delete;
const std::string& Evaluate(
cmLocalGenerator* lg, const std::string& config, bool quiet = false,
cmGeneratorTarget const* headTarget = nullptr,
@ -109,8 +114,6 @@ public:
return this->AllTargetsSeen;
}
~cmCompiledGeneratorExpression();
std::string const& GetInput() const { return this->Input; }
cmListFileBacktrace GetBacktrace() const { return this->Backtrace; }
@ -165,8 +168,6 @@ private:
class cmGeneratorExpressionInterpreter
{
CM_DISABLE_COPY(cmGeneratorExpressionInterpreter)
public:
cmGeneratorExpressionInterpreter(cmLocalGenerator* localGenerator,
std::string config,
@ -179,6 +180,11 @@ public:
{
}
cmGeneratorExpressionInterpreter(cmGeneratorExpressionInterpreter const&) =
delete;
cmGeneratorExpressionInterpreter& operator=(
cmGeneratorExpressionInterpreter const&) = delete;
const std::string& Evaluate(const char* expression,
const std::string& property);
const std::string& Evaluate(const std::string& expression,

View File

@ -19,6 +19,11 @@ struct cmGeneratorExpressionEvaluator
cmGeneratorExpressionEvaluator() = default;
virtual ~cmGeneratorExpressionEvaluator() = default;
cmGeneratorExpressionEvaluator(cmGeneratorExpressionEvaluator const&) =
delete;
cmGeneratorExpressionEvaluator& operator=(
cmGeneratorExpressionEvaluator const&) = delete;
enum Type
{
Text,
@ -29,9 +34,6 @@ struct cmGeneratorExpressionEvaluator
virtual std::string Evaluate(cmGeneratorExpressionContext* context,
cmGeneratorExpressionDAGChecker*) const = 0;
private:
CM_DISABLE_COPY(cmGeneratorExpressionEvaluator)
};
struct TextContent : public cmGeneratorExpressionEvaluator

View File

@ -27,12 +27,13 @@ class cmTarget;
class cmGeneratorTarget
{
CM_DISABLE_COPY(cmGeneratorTarget)
public:
cmGeneratorTarget(cmTarget*, cmLocalGenerator* lg);
~cmGeneratorTarget();
cmGeneratorTarget(cmGeneratorTarget const&) = delete;
cmGeneratorTarget& operator=(cmGeneratorTarget const&) = delete;
cmLocalGenerator* GetLocalGenerator() const;
cmGlobalGenerator* GetGlobalGenerator() const;

View File

@ -752,8 +752,6 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFileFromPath(
class XCodeGeneratorExpressionInterpreter
: public cmGeneratorExpressionInterpreter
{
CM_DISABLE_COPY(XCodeGeneratorExpressionInterpreter)
public:
XCodeGeneratorExpressionInterpreter(cmSourceFile* sourceFile,
cmLocalGenerator* localGenerator,
@ -765,6 +763,11 @@ public:
{
}
XCodeGeneratorExpressionInterpreter(
XCodeGeneratorExpressionInterpreter const&) = delete;
XCodeGeneratorExpressionInterpreter& operator=(
XCodeGeneratorExpressionInterpreter const&) = delete;
using cmGeneratorExpressionInterpreter::Evaluate;
const std::string& Evaluate(const char* expression,

View File

@ -45,7 +45,6 @@ public:
cmCommandArgumentGroup ArgumentGroup;
private:
cmInstallCommandArguments(); // disabled
cmCAString Destination;
cmCAString Component;
cmCAString NamelinkComponent;

View File

@ -21,8 +21,6 @@ class cmMakefile;
*/
class cmInstallGenerator : public cmScriptGenerator
{
CM_DISABLE_COPY(cmInstallGenerator)
public:
enum MessageLevel
{
@ -38,6 +36,9 @@ public:
bool exclude_from_all);
~cmInstallGenerator() override;
cmInstallGenerator(cmInstallGenerator const&) = delete;
cmInstallGenerator& operator=(cmInstallGenerator const&) = delete;
virtual bool HaveInstall();
virtual void CheckCMP0082(bool& haveSubdirectoryInstall,
bool& haveInstallAfterSubdirectory);

View File

@ -16,13 +16,14 @@ class cmOutputConverter;
class cmLinkLineComputer
{
CM_DISABLE_COPY(cmLinkLineComputer)
public:
cmLinkLineComputer(cmOutputConverter* outputConverter,
cmStateDirectory const& stateDir);
virtual ~cmLinkLineComputer();
cmLinkLineComputer(cmLinkLineComputer const&) = delete;
cmLinkLineComputer& operator=(cmLinkLineComputer const&) = delete;
void SetUseWatcomQuote(bool useWatcomQuote);
void SetForResponse(bool forResponse);
void SetRelink(bool relink);

View File

@ -18,13 +18,15 @@ class cmStateDirectory;
class cmLinkLineDeviceComputer : public cmLinkLineComputer
{
CM_DISABLE_COPY(cmLinkLineDeviceComputer)
public:
cmLinkLineDeviceComputer(cmOutputConverter* outputConverter,
cmStateDirectory const& stateDir);
~cmLinkLineDeviceComputer() override;
cmLinkLineDeviceComputer(cmLinkLineDeviceComputer const&) = delete;
cmLinkLineDeviceComputer& operator=(cmLinkLineDeviceComputer const&) =
delete;
std::string ComputeLinkLibraries(cmComputeLinkInformation& cli,
std::string const& stdLibString) override;
@ -34,13 +36,15 @@ public:
class cmNinjaLinkLineDeviceComputer : public cmLinkLineDeviceComputer
{
CM_DISABLE_COPY(cmNinjaLinkLineDeviceComputer)
public:
cmNinjaLinkLineDeviceComputer(cmOutputConverter* outputConverter,
cmStateDirectory const& stateDir,
cmGlobalNinjaGenerator const* gg);
cmNinjaLinkLineDeviceComputer(cmNinjaLinkLineDeviceComputer const&) = delete;
cmNinjaLinkLineDeviceComputer& operator=(
cmNinjaLinkLineDeviceComputer const&) = delete;
std::string ConvertToLinkReference(std::string const& input) const override;
private:

View File

@ -10,16 +10,18 @@
class cmLocaleRAII
{
CM_DISABLE_COPY(cmLocaleRAII)
public:
cmLocaleRAII()
: OldLocale(setlocale(LC_CTYPE, nullptr))
{
setlocale(LC_CTYPE, "");
}
~cmLocaleRAII() { setlocale(LC_CTYPE, this->OldLocale.c_str()); }
cmLocaleRAII(cmLocaleRAII const&) = delete;
cmLocaleRAII& operator=(cmLocaleRAII const&) = delete;
private:
std::string OldLocale;
};

View File

@ -15,12 +15,14 @@ class cmStateDirectory;
class cmMSVC60LinkLineComputer : public cmLinkLineComputer
{
CM_DISABLE_COPY(cmMSVC60LinkLineComputer)
public:
cmMSVC60LinkLineComputer(cmOutputConverter* outputConverter,
cmStateDirectory const& stateDir);
cmMSVC60LinkLineComputer(cmMSVC60LinkLineComputer const&) = delete;
cmMSVC60LinkLineComputer& operator=(cmMSVC60LinkLineComputer const&) =
delete;
std::string ConvertToLinkReference(std::string const& input) const override;
};

View File

@ -65,8 +65,6 @@ public:
*/
class cmMakefile
{
CM_DISABLE_COPY(cmMakefile)
public:
/* Mark a variable as used */
void MarkVariableAsUsed(const std::string& var);
@ -84,6 +82,9 @@ public:
*/
~cmMakefile();
cmMakefile(cmMakefile const&) = delete;
cmMakefile& operator=(cmMakefile const&) = delete;
cmDirectoryId GetDirectoryId() const;
bool ReadListFile(const std::string& filename);
@ -780,15 +781,18 @@ public:
/** Helper class to push and pop scopes automatically. */
class ScopePushPop
{
CM_DISABLE_COPY(ScopePushPop)
public:
ScopePushPop(cmMakefile* m)
: Makefile(m)
{
this->Makefile->PushScope();
}
~ScopePushPop() { this->Makefile->PopScope(); }
ScopePushPop(ScopePushPop const&) = delete;
ScopePushPop& operator=(ScopePushPop const&) = delete;
private:
cmMakefile* Makefile;
};

View File

@ -16,13 +16,14 @@ class cmStateDirectory;
class cmNinjaLinkLineComputer : public cmLinkLineComputer
{
CM_DISABLE_COPY(cmNinjaLinkLineComputer)
public:
cmNinjaLinkLineComputer(cmOutputConverter* outputConverter,
cmStateDirectory const& stateDir,
cmGlobalNinjaGenerator const* gg);
cmNinjaLinkLineComputer(cmNinjaLinkLineComputer const&) = delete;
cmNinjaLinkLineComputer& operator=(cmNinjaLinkLineComputer const&) = delete;
std::string ConvertToLinkReference(std::string const& input) const override;
private:

View File

@ -24,7 +24,6 @@ class cmMakefile;
/// @brief Base class for QtAutoGen gernerators
class cmQtAutoGenerator : public cmQtAutoGen
{
CM_DISABLE_COPY(cmQtAutoGenerator)
public:
// -- Types
@ -245,6 +244,9 @@ public:
cmQtAutoGenerator();
virtual ~cmQtAutoGenerator();
cmQtAutoGenerator(cmQtAutoGenerator const&) = delete;
cmQtAutoGenerator& operator=(cmQtAutoGenerator const&) = delete;
// -- Run
bool Run(std::string const& infoFile, std::string const& config);

View File

@ -28,11 +28,13 @@ class cmMakefile;
// @brief AUTOMOC and AUTOUIC generator
class cmQtAutoGeneratorMocUic : public cmQtAutoGenerator
{
CM_DISABLE_COPY(cmQtAutoGeneratorMocUic)
public:
cmQtAutoGeneratorMocUic();
~cmQtAutoGeneratorMocUic() override;
cmQtAutoGeneratorMocUic(cmQtAutoGeneratorMocUic const&) = delete;
cmQtAutoGeneratorMocUic& operator=(cmQtAutoGeneratorMocUic const&) = delete;
public:
// -- Types
class WorkerT;
@ -63,7 +65,6 @@ public:
///
class BaseSettingsT
{
CM_DISABLE_COPY(BaseSettingsT)
public:
// -- Volatile methods
BaseSettingsT(FileSystem* fileSystem)
@ -75,6 +76,9 @@ public:
{
}
BaseSettingsT(BaseSettingsT const&) = delete;
BaseSettingsT& operator=(BaseSettingsT const&) = delete;
// -- Const methods
std::string AbsoluteBuildPath(std::string const& relativePath) const;
bool FindHeader(std::string& header,
@ -103,13 +107,15 @@ public:
///
class MocSettingsT
{
CM_DISABLE_COPY(MocSettingsT)
public:
MocSettingsT(FileSystem* fileSys)
: FileSys(fileSys)
{
}
MocSettingsT(MocSettingsT const&) = delete;
MocSettingsT& operator=(MocSettingsT const&) = delete;
// -- Const methods
bool skipped(std::string const& fileName) const;
std::string FindMacro(std::string const& content) const;
@ -145,9 +151,12 @@ public:
///
class UicSettingsT
{
CM_DISABLE_COPY(UicSettingsT)
public:
UicSettingsT() = default;
UicSettingsT(UicSettingsT const&) = delete;
UicSettingsT& operator=(UicSettingsT const&) = delete;
// -- Const methods
bool skipped(std::string const& fileName) const;
@ -166,10 +175,13 @@ public:
///
class JobT
{
CM_DISABLE_COPY(JobT)
public:
JobT() = default;
virtual ~JobT() = default;
JobT(JobT const&) = delete;
JobT& operator=(JobT const&) = delete;
// -- Abstract processing interface
virtual void Process(WorkerT& wrk) = 0;
};
@ -293,11 +305,13 @@ public:
///
class WorkerT
{
CM_DISABLE_COPY(WorkerT)
public:
WorkerT(cmQtAutoGeneratorMocUic* gen, uv_loop_t* uvLoop);
~WorkerT();
WorkerT(WorkerT const&) = delete;
WorkerT& operator=(WorkerT const&) = delete;
// -- Const accessors
cmQtAutoGeneratorMocUic& Gen() const { return *Gen_; }
Logger& Log() const { return Gen_->Log(); }

View File

@ -17,11 +17,13 @@ class cmMakefile;
// @brief AUTORCC generator
class cmQtAutoGeneratorRcc : public cmQtAutoGenerator
{
CM_DISABLE_COPY(cmQtAutoGeneratorRcc)
public:
cmQtAutoGeneratorRcc();
~cmQtAutoGeneratorRcc() override;
cmQtAutoGeneratorRcc(cmQtAutoGeneratorRcc const&) = delete;
cmQtAutoGeneratorRcc& operator=(cmQtAutoGeneratorRcc const&) = delete;
private:
// -- Types

View File

@ -44,13 +44,14 @@ inline std::ostream& operator<<(std::ostream& os,
*/
class cmScriptGenerator
{
CM_DISABLE_COPY(cmScriptGenerator)
public:
cmScriptGenerator(std::string config_var,
std::vector<std::string> configurations);
virtual ~cmScriptGenerator();
cmScriptGenerator(cmScriptGenerator const&) = delete;
cmScriptGenerator& operator=(cmScriptGenerator const&) = delete;
void Generate(std::ostream& os, const std::string& config,
std::vector<std::string> const& configurationTypes);

View File

@ -88,14 +88,15 @@ protected:
class cmServer : public cmServerBase
{
CM_DISABLE_COPY(cmServer)
public:
class DebugInfo;
cmServer(cmConnection* conn, bool supportExperimental);
~cmServer() override;
cmServer(cmServer const&) = delete;
cmServer& operator=(cmServer const&) = delete;
bool Serve(std::string* errorMessage) override;
cmFileMonitor* FileMonitor() const;

View File

@ -71,12 +71,13 @@ private:
class cmServerProtocol
{
CM_DISABLE_COPY(cmServerProtocol)
public:
cmServerProtocol() = default;
virtual ~cmServerProtocol() = default;
cmServerProtocol(cmServerProtocol const&) = delete;
cmServerProtocol& operator=(cmServerProtocol const&) = delete;
virtual std::pair<int, int> ProtocolVersion() const = 0;
virtual bool IsExperimental() const = 0;
virtual const cmServerResponse Process(const cmServerRequest& request) = 0;

View File

@ -34,6 +34,8 @@ public:
cmSourceFileLocation();
cmSourceFileLocation(const cmSourceFileLocation& loc);
cmSourceFileLocation& operator=(cmSourceFileLocation const&) = delete;
/**
* Return whether the given source file location could refers to the
* same source file as this location given the level of ambiguity in
@ -94,8 +96,6 @@ private:
// Update the location with additional knowledge.
void Update(cmSourceFileLocation const& loc);
void UpdateExtension(const std::string& name);
cmSourceFileLocation& operator=(const cmSourceFileLocation& loc) = delete;
};
#endif

View File

@ -410,11 +410,13 @@ public:
original environment. */
class SaveRestoreEnvironment
{
CM_DISABLE_COPY(SaveRestoreEnvironment)
public:
SaveRestoreEnvironment();
~SaveRestoreEnvironment();
SaveRestoreEnvironment(SaveRestoreEnvironment const&) = delete;
SaveRestoreEnvironment& operator=(SaveRestoreEnvironment const&) = delete;
private:
std::vector<std::string> Env;
};

View File

@ -20,14 +20,15 @@ class cmTest;
*/
class cmTestGenerator : public cmScriptGenerator
{
CM_DISABLE_COPY(cmTestGenerator)
public:
cmTestGenerator(cmTest* test,
std::vector<std::string> const& configurations =
std::vector<std::string>());
~cmTestGenerator() override;
cmTestGenerator(cmTestGenerator const&) = delete;
cmTestGenerator& operator=(cmTestGenerator const&) = delete;
void Compute(cmLocalGenerator* lg);
/** Test if this generator installs the test for a given configuration. */

View File

@ -61,7 +61,8 @@ protected:
void allocate(void* data = nullptr);
public:
CM_DISABLE_COPY(uv_handle_ptr_base_)
uv_handle_ptr_base_(uv_handle_ptr_base_ const&) = delete;
uv_handle_ptr_base_& operator=(uv_handle_ptr_base_ const&) = delete;
uv_handle_ptr_base_(uv_handle_ptr_base_&&) noexcept;
uv_handle_ptr_base_& operator=(uv_handle_ptr_base_&&) noexcept;

View File

@ -25,12 +25,16 @@ class cmVS10GeneratorOptions;
class cmVisualStudio10TargetGenerator
{
CM_DISABLE_COPY(cmVisualStudio10TargetGenerator)
public:
cmVisualStudio10TargetGenerator(cmGeneratorTarget* target,
cmGlobalVisualStudio10Generator* gg);
~cmVisualStudio10TargetGenerator();
cmVisualStudio10TargetGenerator(cmVisualStudio10TargetGenerator const&) =
delete;
cmVisualStudio10TargetGenerator& operator=(
cmVisualStudio10TargetGenerator const&) = delete;
void Generate();
private:

View File

@ -16,12 +16,13 @@
class cmXMLWriter
{
CM_DISABLE_COPY(cmXMLWriter)
public:
cmXMLWriter(std::ostream& output, std::size_t level = 0);
~cmXMLWriter();
cmXMLWriter(cmXMLWriter const&) = delete;
cmXMLWriter& operator=(cmXMLWriter const&) = delete;
void StartDocument(const char* encoding = "UTF-8");
void EndDocument();

View File

@ -11,18 +11,18 @@ namespace cm {
class shared_mutex
{
uv_rwlock_t _M_;
CM_DISABLE_COPY(shared_mutex)
public:
shared_mutex() { uv_rwlock_init(&_M_); }
~shared_mutex() { uv_rwlock_destroy(&_M_); }
void lock() { uv_rwlock_wrlock(&_M_); }
shared_mutex(shared_mutex const&) = delete;
shared_mutex& operator=(shared_mutex const&) = delete;
void lock() { uv_rwlock_wrlock(&_M_); }
void unlock() { uv_rwlock_wrunlock(&_M_); }
void lock_shared() { uv_rwlock_rdlock(&_M_); }
void unlock_shared() { uv_rwlock_rdunlock(&_M_); }
};
@ -30,7 +30,6 @@ template <typename T>
class shared_lock
{
T& _mutex;
CM_DISABLE_COPY(shared_lock)
public:
shared_lock(T& m)
@ -38,7 +37,12 @@ public:
{
_mutex.lock_shared();
}
~shared_lock() { _mutex.unlock_shared(); }
shared_lock(shared_lock const&) = delete;
shared_lock& operator=(shared_lock const&) = delete;
};
}
#endif

View File

@ -59,8 +59,6 @@ struct cmDocumentationEntry;
class cmake
{
CM_DISABLE_COPY(cmake)
public:
enum Role
{
@ -119,6 +117,9 @@ public:
/// Destructor
~cmake();
cmake(cmake const&) = delete;
cmake& operator=(cmake const&) = delete;
#if defined(CMAKE_BUILD_WITH_CMAKE)
Json::Value ReportVersionJson() const;
Json::Value ReportCapabilitiesJson(bool haveServerMode) const;

View File

@ -1317,7 +1317,6 @@ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insall
cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP"
cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
cmake_report cmConfigure.h${_tmp} "#define CM_DISABLE_COPY(Class)"
# Regenerate configured headers
for h in Configure VersionConfig; do