diff options
author | Albert Astals Cid <albert.astals.cid@kdab.com> | 2019-02-14 16:29:57 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-02-15 12:25:47 (GMT) |
commit | ae5e97a00568d15dedea073b58668e646e3c0d2e (patch) | |
tree | 10ba898956021469c0de5db595ca511c0c83cffd /Source/cmCPluginAPI.cxx | |
parent | e3353a0175fb27bc2967c3df78b8be1c0615b21d (diff) | |
download | CMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.zip CMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.tar.gz CMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.tar.bz2 |
Delete some default constructors and assignment operators
They are unused, but if someone used them they would lead to
problems since they would copy the internal raw pointers
and the destructor would cause double delete
Diffstat (limited to 'Source/cmCPluginAPI.cxx')
-rw-r--r-- | Source/cmCPluginAPI.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx index 576d2c3..5efc784 100644 --- a/Source/cmCPluginAPI.cxx +++ b/Source/cmCPluginAPI.cxx @@ -491,12 +491,16 @@ public: typedef std::map<cmSourceFile*, cmCPluginAPISourceFile*> derived; typedef derived::iterator iterator; typedef derived::value_type value_type; + cmCPluginAPISourceFileMap() = default; ~cmCPluginAPISourceFileMap() { for (auto const& i : *this) { delete i.second; } } + cmCPluginAPISourceFileMap(const cmCPluginAPISourceFileMap&) = delete; + cmCPluginAPISourceFileMap& operator=(const cmCPluginAPISourceFileMap&) = + delete; }; cmCPluginAPISourceFileMap cmCPluginAPISourceFiles; |