diff --git a/.gitignore b/.gitignore index cce9e969..02390dbd 100644 --- a/.gitignore +++ b/.gitignore @@ -353,3 +353,4 @@ test/vs2019/Debug MSVC - No STL - Force Constexpr Algorithms test/vs2019/Debug Intel test/vs2019/Debug Intel - No STL EmbeddedTemplateLibrary-20.24.1.tar.gz +test/etl_initializer_list/.vs diff --git a/test/etl_initializer_list/etl_initializer_list.cpp b/test/etl_initializer_list/etl_initializer_list.cpp deleted file mode 100644 index f72c0a67..00000000 --- a/test/etl_initializer_list/etl_initializer_list.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// etl_initializer_list.cpp : This file contains the 'main' function. Program execution begins and ends there. -// - -#include - -int main() -{ - std::cout << "Hello World!\n"; -} - -// Run program: Ctrl + F5 or Debug > Start Without Debugging menu -// Debug program: F5 or Debug > Start Debugging menu - -// Tips for Getting Started: -// 1. Use the Solution Explorer window to add/manage files -// 2. Use the Team Explorer window to connect to source control -// 3. Use the Output window to see build output and other messages -// 4. Use the Error List window to view errors -// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project -// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file diff --git a/test/etl_initializer_list/etl_initializer_list.vcxproj b/test/etl_initializer_list/etl_initializer_list.vcxproj index 656d79b1..9bd07bff 100644 --- a/test/etl_initializer_list/etl_initializer_list.vcxproj +++ b/test/etl_initializer_list/etl_initializer_list.vcxproj @@ -18,6 +18,14 @@ x64 + + + + + + + + 16.0 Win32Proj @@ -86,8 +94,10 @@ Level3 true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + WIN32;_DEBUG;_CONSOLE;ETL_NO_STL;%(PreprocessorDefinitions) true + ../../include + stdcpp17 Console @@ -138,9 +148,6 @@ true - - - diff --git a/test/etl_initializer_list/etl_initializer_list.vcxproj.filters b/test/etl_initializer_list/etl_initializer_list.vcxproj.filters index 2fee4aba..07681d6c 100644 --- a/test/etl_initializer_list/etl_initializer_list.vcxproj.filters +++ b/test/etl_initializer_list/etl_initializer_list.vcxproj.filters @@ -15,7 +15,18 @@ - + + Header Files + + + Header Files + + + Header Files + + + + Source Files diff --git a/test/etl_initializer_list/test_initializer_list.cpp b/test/etl_initializer_list/test_initializer_list.cpp index 71d1d666..a68397b0 100644 --- a/test/etl_initializer_list/test_initializer_list.cpp +++ b/test/etl_initializer_list/test_initializer_list.cpp @@ -28,7 +28,7 @@ SOFTWARE. #include "etl/initializer_list.h" -#include "etl/string_view.h" // Check for an include that causes a clash with the compilers version. +//#include "etl/string_view.h" // Check for an include that causes a clash with the compilers version. #include @@ -37,6 +37,7 @@ class Container { public: +//#if ETL_USING_INITIALIZER_LIST constexpr Container(std::initializer_list init) : buffer() , length(init.size()) @@ -49,6 +50,7 @@ public: *p++ = *itr++; } } +//#endif const T& operator [](int i) const { diff --git a/test/test_initializer_list.cpp b/test/test_initializer_list.cpp deleted file mode 100644 index f3e49810..00000000 --- a/test/test_initializer_list.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/****************************************************************************** -The MIT License(MIT) - -Embedded Template Library. -https://github.com/ETLCPP/std -https://www.etlcpp.com - -Copyright(c) 2022 jwellbelove - -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 "etl/initializer_list.h" - -#include - -template -class Container -{ -public: - - constexpr Container(std::initializer_list init) - : buffer() - , length(init.size()) - { - typename std::initializer_list::const_iterator itr = std::begin(init); - T* p = buffer; - - while (itr != std::end(init)) - { - *p++ = *itr++; - } - } - - const T& operator [](int i) const - { - return buffer[i]; - } - - const size_t length; - -private: - - T buffer[10]; -}; - -int main() -{ - int result = 0; - - Container c = { 1, 2, 3, 4, 5 }; - - if (c[0] != 1) result = 1; - if (c[1] != 2) result = 2; - if (c[2] != 3) result = 3; - if (c[3] != 4) result = 4; - if (c[4] != 5) result = 5; - - if (c.length != 5) result = 6; - - constexpr Container cc = { 1, 2, 3, 4, 5 }; - - if (cc[0] != 1) result = 7; - if (cc[1] != 2) result = 8; - if (cc[2] != 3) result = 9; - if (cc[3] != 4) result = 10; - if (cc[4] != 5) result = 11; - - if (cc.length != 5) result = 12; - - if (result == 0) - { - printf("**** All tests passed ****\n"); - } - else - { - printf(">>>> Tests failed at #%d <<<<\n", result); - } - - return result; -} - diff --git a/test/vs2019/etl.sln b/test/vs2019/etl.sln index 7ac7f5db..f4ca47d5 100644 --- a/test/vs2019/etl.sln +++ b/test/vs2019/etl.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 16.0.29926.136 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "etl", "etl.vcxproj", "{C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "etl_initialiser_list", "etl_initialiser_list\etl_initialiser_list.vcxproj", "{0523DB70-0955-4EB0-A042-04514987A602}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug Intel - No STL|Win32 = Debug Intel - No STL|Win32 @@ -137,90 +135,6 @@ Global {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Release|Win32.Build.0 = Release|Win32 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Release|x64.ActiveCfg = Release|x64 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Release|x64.Build.0 = Release|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel - No STL|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel - No STL|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel - No STL|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel - No STL|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug Intel|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL - Force Built-ins|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL - Force Built-ins|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL - Force Built-ins|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL - Force Built-ins|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM - No STL|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug LLVM|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Force C++03|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Force C++03|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Force C++03|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Force C++03|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Auto Built-ins|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Auto Built-ins|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Auto Built-ins|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Auto Built-ins|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Built-ins|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Built-ins|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Built-ins|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Built-ins|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Constexpr Algorithms|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Constexpr Algorithms|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Constexpr Algorithms|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL - Force Constexpr Algorithms|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No STL|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No Tests|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No Tests|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No Tests|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - No Tests|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Small Strings|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Small Strings|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Small Strings|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - Small Strings|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - String Truncation Is Error|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - String Truncation Is Error|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - String Truncation Is Error|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC - String Truncation Is Error|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC 64|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC 64|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC 64|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC 64|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20 - No STL|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20 - No STL|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20 - No STL|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20 - No STL|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC C++20|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug MSVC|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Debug|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug Appveyor|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug Appveyor|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug Appveyor|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug Appveyor|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug No STL Appveyor|Win32.ActiveCfg = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug No STL Appveyor|Win32.Build.0 = Debug|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug No STL Appveyor|x64.ActiveCfg = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.MSVC Debug No STL Appveyor|x64.Build.0 = Debug|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Release|Win32.ActiveCfg = Release|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Release|Win32.Build.0 = Release|Win32 - {0523DB70-0955-4EB0-A042-04514987A602}.Release|x64.ActiveCfg = Release|x64 - {0523DB70-0955-4EB0-A042-04514987A602}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE