mirror of
https://github.com/ETLCPP/etl.git
synced 2026-05-01 03:19:10 +08:00
Move initializer_list test project out of main ETL unit tests project
This commit is contained in:
parent
292f5d9176
commit
e9ec00b346
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
// etl_initializer_list.cpp : This file contains the 'main' function. Program execution begins and ends there.
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
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
|
||||
@ -18,6 +18,14 @@
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\etl\initializer_list.h" />
|
||||
<ClInclude Include="..\..\include\etl\placement_new.h" />
|
||||
<ClInclude Include="..\..\include\etl\utility.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="test_initializer_list.cpp" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
@ -86,8 +94,10 @@
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ETL_NO_STL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@ -138,9 +148,6 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="etl_initializer_list.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
||||
@ -15,7 +15,18 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="etl_initializer_list.cpp">
|
||||
<ClInclude Include="..\..\include\etl\initializer_list.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\utility.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\placement_new.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="test_initializer_list.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
@ -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 <stdio.h>
|
||||
|
||||
@ -37,6 +37,7 @@ class Container
|
||||
{
|
||||
public:
|
||||
|
||||
//#if ETL_USING_INITIALIZER_LIST
|
||||
constexpr Container(std::initializer_list<T> init)
|
||||
: buffer()
|
||||
, length(init.size())
|
||||
@ -49,6 +50,7 @@ public:
|
||||
*p++ = *itr++;
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
|
||||
const T& operator [](int i) const
|
||||
{
|
||||
|
||||
@ -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 <stdio.h>
|
||||
|
||||
template <typename T>
|
||||
class Container
|
||||
{
|
||||
public:
|
||||
|
||||
constexpr Container(std::initializer_list<T> init)
|
||||
: buffer()
|
||||
, length(init.size())
|
||||
{
|
||||
typename std::initializer_list<T>::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<int> 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<int> 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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user