09d0ac768a
## Summary of the Pull Request This introduces a new TIL class that is equivalent in functionality to a `std::bitset`, but where the positions in the bitset are enum values. It also has a few additional methods allowing for setting and testing multiple positions at the same time. The idea is that this class could be used in place of the `WI_SetFlag` and `WI_IsFlagSet` macros when working with sets of flags. ## PR Checklist * [x] Closes #10432 * [x] CLA signed. * [x] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [x] I've discussed this with core contributors already. Issue number where discussion took place: #10432 ## Validation Steps Performed I've added a few unit tests that verify the behaviour of all the new methods that aren't part of `std::bitset`. I've also tried it out as a replacement for the `GridLines` enum used in the renderer, and confirmed that it has all the functionality needed to replace that cleanly.
48 lines
2.1 KiB
XML
48 lines
2.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<ProjectGuid>{767268EE-174A-46FE-96F0-EEE698A1BBC9}</ProjectGuid>
|
|
<Keyword>Win32Proj</Keyword>
|
|
<RootNamespace>tilunittests</RootNamespace>
|
|
<ProjectName>til.unit.tests</ProjectName>
|
|
<TargetName>til.Unit.Tests</TargetName>
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
</PropertyGroup>
|
|
<Import Project="$(SolutionDir)src\common.build.pre.props" />
|
|
<ItemGroup>
|
|
<ClCompile Include="..\precomp.cpp">
|
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
</ClCompile>
|
|
<ClCompile Include="BaseTests.cpp" />
|
|
<ClCompile Include="BitmapTests.cpp" />
|
|
<ClCompile Include="CoalesceTests.cpp" />
|
|
<ClCompile Include="ColorTests.cpp" />
|
|
<ClCompile Include="EnumSetTests.cpp" />
|
|
<ClCompile Include="MathTests.cpp" />
|
|
<ClCompile Include="mutex.cpp" />
|
|
<ClCompile Include="OperatorTests.cpp" />
|
|
<ClCompile Include="PointTests.cpp" />
|
|
<ClCompile Include="RectangleTests.cpp" />
|
|
<ClCompile Include="ReplaceTests.cpp" />
|
|
<ClCompile Include="RunLengthEncodingTests.cpp" />
|
|
<ClCompile Include="SizeTests.cpp" />
|
|
<ClCompile Include="SomeTests.cpp" />
|
|
<ClCompile Include="SPSCTests.cpp" />
|
|
<ClCompile Include="StaticMapTests.cpp" />
|
|
<ClCompile Include="string.cpp" />
|
|
<ClCompile Include="throttled_func.cpp" />
|
|
<ClCompile Include="u8u16convertTests.cpp" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\precomp.h" />
|
|
</ItemGroup>
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>..;$(SolutionDir)src\inc;$(SolutionDir)src\inc\test;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
<!-- Careful reordering these. Some default props (contained in these files) are order sensitive. -->
|
|
<Import Project="$(SolutionDir)src\common.build.post.props" />
|
|
<Import Project="$(SolutionDir)src\common.build.tests.props" />
|
|
</Project>
|