diff --git a/include/etl/uncopyable.h b/include/etl/uncopyable.h index 92ca8392c..324e977d3 100644 --- a/include/etl/uncopyable.h +++ b/include/etl/uncopyable.h @@ -43,11 +43,13 @@ namespace etl class uncopyable { public: + uncopyable(uncopyable const&) = delete; uncopyable& operator=(uncopyable const&) = delete; protected: - uncopyable() = default; + + uncopyable() = default; ~uncopyable() = default; }; diff --git a/test/syntax_check/c++03/CMakeLists.txt b/test/syntax_check/c++03/CMakeLists.txt index fad0c6eb0..d03606bfd 100644 --- a/test/syntax_check/c++03/CMakeLists.txt +++ b/test/syntax_check/c++03/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t98 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++11/CMakeLists.txt b/test/syntax_check/c++11/CMakeLists.txt index f426cecca..28a692620 100644 --- a/test/syntax_check/c++11/CMakeLists.txt +++ b/test/syntax_check/c++11/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t11 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++14/CMakeLists.txt b/test/syntax_check/c++14/CMakeLists.txt index b7bc68b99..131ae2a2f 100644 --- a/test/syntax_check/c++14/CMakeLists.txt +++ b/test/syntax_check/c++14/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t14 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++17/CMakeLists.txt b/test/syntax_check/c++17/CMakeLists.txt index 5d8761ab2..f3fab390e 100644 --- a/test/syntax_check/c++17/CMakeLists.txt +++ b/test/syntax_check/c++17/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t17 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++20/CMakeLists.txt b/test/syntax_check/c++20/CMakeLists.txt index f38c48ada..98acefa9a 100644 --- a/test/syntax_check/c++20/CMakeLists.txt +++ b/test/syntax_check/c++20/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t20 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/uncopyable.h.t.cpp b/test/syntax_check/uncopyable.h.t.cpp new file mode 100644 index 000000000..90cc67eaf --- /dev/null +++ b/test/syntax_check/uncopyable.h.t.cpp @@ -0,0 +1,29 @@ +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2024 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#include diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 7506cfa14..32fa29981 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -3257,6 +3257,7 @@ + @@ -7629,6 +7630,21 @@ true true + + true + true + true + true + true + true + true + true + true + true + true + true + true + true true @@ -8966,6 +8982,7 @@ + diff --git a/test/vs2022/etl.vcxproj.filters b/test/vs2022/etl.vcxproj.filters index 2da095b94..c74899f59 100644 --- a/test/vs2022/etl.vcxproj.filters +++ b/test/vs2022/etl.vcxproj.filters @@ -1413,6 +1413,9 @@ ETL\Private + + ETL\Utilities + @@ -3386,6 +3389,12 @@ Tests\Syntax Checks\Source + + Tests\Misc + + + Tests\Syntax Checks\Source +