Skip to content

Commit

Permalink
Update README and vcxproj
Browse files Browse the repository at this point in the history
  • Loading branch information
CaseyCarter committed Dec 27, 2017
1 parent 6857bc5 commit ac8a7e6
Show file tree
Hide file tree
Showing 5 changed files with 208 additions and 31 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ a.out
.#*
build*/
.vscode/
.vs/
*.*.swp
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# cmcstl2
An implementation of the Ranges TS "C++ Extensions for Ranges" as specified in working paper [N4620](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4620.pdf) with many many proposed resolutions implemented for issues as documented at http://github.com/ericniebler/stl2/issues. There are still quite a few rough edges, but the library is now feature-complete.

Compilation requires [GCC 6](https://gcc.gnu.org/) with the `-std=c++1z` and `-fconcepts` command line options. Compile times are currently on the slow side, even for C++.
An implementation of [ISO/IEC Technical Specification 21425:2017 "Programming languages -- C++ Extensions for ranges"](https://www.iso.org/standard/70910.html) (the "Ranges TS").
Compilation requires a compiler with support for C++17 and the Concepts TS, which as of this writing means [GCC 6+](https://gcc.gnu.org/) with the `-std=c++1z` and `-fconcepts` command line options.

**Build status**
- on Travis-CI: [![Travis Build Status](https://travis-ci.org/CaseyCarter/cmcstl2.svg?branch=master)](https://travis-ci.org/CaseyCarter/cmcstl2)
77 changes: 65 additions & 12 deletions cmcstl2.vcxproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
Expand All @@ -13,18 +13,19 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{034E2682-53F9-4C36-B2A7-CB2B5ED346AA}</ProjectGuid>
<RootNamespace>cmcstl2</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
Expand All @@ -41,25 +42,40 @@
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)meta\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>VALIDATE_STL2;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DiagnosticsFormat>Caret</DiagnosticsFormat>
<StringPooling>true</StringPooling>
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpplatest</LanguageStandard>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)meta\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>VALIDATE_STL2;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DiagnosticsFormat>Caret</DiagnosticsFormat>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpplatest</LanguageStandard>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
Expand Down Expand Up @@ -141,6 +157,7 @@
<ClInclude Include="include\stl2\detail\algorithm\reverse_copy.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\rotate.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\rotate_copy.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\sample.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\search.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\search_n.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\set_difference.hpp" />
Expand All @@ -153,6 +170,7 @@
<ClInclude Include="include\stl2\detail\algorithm\stable_partition.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\stable_sort.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\swap_ranges.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\tagspec.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\transform.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\unique.hpp" />
<ClInclude Include="include\stl2\detail\algorithm\unique_copy.hpp" />
Expand All @@ -174,11 +192,13 @@
<ClInclude Include="include\stl2\detail\concepts\urng.hpp" />
<ClInclude Include="include\stl2\detail\construct_destruct.hpp" />
<ClInclude Include="include\stl2\detail\ebo_box.hpp" />
<ClInclude Include="include\stl2\detail\functional\comparisons.hpp" />
<ClInclude Include="include\stl2\detail\functional\invoke.hpp" />
<ClInclude Include="include\stl2\detail\functional\not_fn.hpp" />
<ClInclude Include="include\stl2\detail\fwd.hpp" />
<ClInclude Include="include\stl2\detail\hash.hpp" />
<ClInclude Include="include\stl2\detail\iostream\concepts.hpp" />
<ClInclude Include="include\stl2\detail\iterator\any_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\basic_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\common_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\counted_iterator.hpp" />
Expand All @@ -190,37 +210,55 @@
<ClInclude Include="include\stl2\detail\iterator\ostreambuf_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\ostream_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\unreachable.hpp" />
<ClInclude Include="include\stl2\detail\memory\addressof.hpp" />
<ClInclude Include="include\stl2\detail\memory\concepts.hpp" />
<ClInclude Include="include\stl2\detail\memory\construct_at.hpp" />
<ClInclude Include="include\stl2\detail\memory\destroy.hpp" />
<ClInclude Include="include\stl2\detail\memory\uninitialized_copy.hpp" />
<ClInclude Include="include\stl2\detail\memory\uninitialized_default_construct.hpp" />
<ClInclude Include="include\stl2\detail\memory\uninitialized_fill.hpp" />
<ClInclude Include="include\stl2\detail\memory\uninitialized_move.hpp" />
<ClInclude Include="include\stl2\detail\memory\uninitialized_value_construct.hpp" />
<ClInclude Include="include\stl2\detail\meta.hpp" />
<ClInclude Include="include\stl2\detail\operator_arrow.hpp" />
<ClInclude Include="include\stl2\detail\randutils.hpp" />
<ClInclude Include="include\stl2\detail\range\access.hpp" />
<ClInclude Include="include\stl2\detail\range\concepts.hpp" />
<ClInclude Include="include\stl2\detail\range\primitives.hpp" />
<ClInclude Include="include\stl2\detail\range\range.hpp" />
<ClInclude Include="include\stl2\detail\raw_ptr.hpp" />
<ClInclude Include="include\stl2\detail\semiregular_box.hpp" />
<ClInclude Include="include\stl2\detail\smf_control.hpp" />
<ClInclude Include="include\stl2\detail\span.hpp" />
<ClInclude Include="include\stl2\detail\swap.hpp" />
<ClInclude Include="include\stl2\detail\tagged.hpp" />
<ClInclude Include="include\stl2\detail\iterator\concepts.hpp" />
<ClInclude Include="include\stl2\detail\iterator\insert_iterators.hpp" />
<ClInclude Include="include\stl2\detail\iterator\operations.hpp" />
<ClInclude Include="include\stl2\detail\iterator\reverse_iterator.hpp" />
<ClInclude Include="include\stl2\detail\iterator\move_iterator.hpp" />
<ClInclude Include="include\stl2\detail\range\concepts.hpp" />
<ClInclude Include="include\stl2\detail\range\access.hpp" />
<ClInclude Include="include\stl2\detail\range\primitives.hpp" />
<ClInclude Include="include\stl2\detail\temporary_vector.hpp" />
<ClInclude Include="include\stl2\detail\tuple_like.hpp" />
<ClInclude Include="include\stl2\detail\utility\in_place.hpp" />
<ClInclude Include="include\stl2\detail\variant\fwd.hpp" />
<ClInclude Include="include\stl2\detail\variant\storage.hpp" />
<ClInclude Include="include\stl2\detail\variant\visit.hpp" />
<ClInclude Include="include\stl2\functional.hpp" />
<ClInclude Include="include\stl2\iterator.hpp" />
<ClInclude Include="include\stl2\memory.hpp" />
<ClInclude Include="include\stl2\optional.hpp" />
<ClInclude Include="include\stl2\random.hpp" />
<ClInclude Include="include\stl2\tuple.hpp" />
<ClInclude Include="include\stl2\type_traits.hpp" />
<ClInclude Include="include\stl2\utility.hpp" />
<ClInclude Include="include\stl2\variant.hpp" />
<ClInclude Include="include\stl2\view\indirect.hpp" />
<ClInclude Include="include\stl2\view\iota.hpp" />
<ClInclude Include="include\stl2\view\move.hpp" />
<ClInclude Include="include\stl2\view\ref.hpp" />
<ClInclude Include="include\stl2\view\repeat.hpp" />
<ClInclude Include="include\stl2\view\repeat_n.hpp" />
<ClInclude Include="include\stl2\view\take_exactly.hpp" />
<ClInclude Include="test\algorithm\is_heap.hpp" />
<ClInclude Include="test\algorithm\is_heap_until.hpp" />
<ClInclude Include="test\algorithm\set_difference.hpp" />
Expand All @@ -229,6 +267,7 @@
<ClInclude Include="test\algorithm\set_union.hpp" />
<ClInclude Include="test\concepts\validate.hpp" />
<ClInclude Include="test\iterator\test_iterators.hpp" />
<ClInclude Include="test\memory\common.hpp" />
<ClInclude Include="test\simple_test.hpp" />
<ClInclude Include="test\test_iterators.hpp" />
<ClInclude Include="test\test_utils.hpp" />
Expand Down Expand Up @@ -307,6 +346,7 @@
<ClCompile Include="test\algorithm\reverse_copy.cpp" />
<ClCompile Include="test\algorithm\rotate.cpp" />
<ClCompile Include="test\algorithm\rotate_copy.cpp" />
<ClCompile Include="test\algorithm\sample.cpp" />
<ClCompile Include="test\algorithm\search.cpp" />
<ClCompile Include="test\algorithm\search_n.cpp" />
<ClCompile Include="test\algorithm\set_difference1.cpp" />
Expand Down Expand Up @@ -356,24 +396,34 @@
<ClCompile Include="test\functional\invoke.cpp" />
<ClCompile Include="test\functional\not_fn.cpp" />
<ClCompile Include="test\headers.cpp" />
<ClCompile Include="test\iterator\any_iterator.cpp" />
<ClCompile Include="test\iterator\basic_iterator.cpp" />
<ClCompile Include="test\iterator\common_iterator.cpp" />
<ClCompile Include="test\iterator\counted_iterator.cpp" />
<ClCompile Include="test\iterator\incomplete.cpp" />
<ClCompile Include="test\iterator\istreambuf_iterator.cpp" />
<ClCompile Include="test\iterator\istream_iterator.cpp" />
<ClCompile Include="test\iterator\make_range.cpp" />
<ClCompile Include="test\iterator\operations.cpp" />
<ClCompile Include="test\iterator\ostreambuf_iterator.cpp" />
<ClCompile Include="test\iterator\ostream_iterator.cpp" />
<ClCompile Include="test\iterator\unreachable.cpp" />
<ClCompile Include="test\memory\destroy.cpp" />
<ClCompile Include="test\memory\uninitialized_copy.cpp" />
<ClCompile Include="test\memory\uninitialized_default_construct.cpp" />
<ClCompile Include="test\memory\uninitialized_fill.cpp" />
<ClCompile Include="test\memory\uninitialized_move.cpp" />
<ClCompile Include="test\memory\uninitialized_value_construct.cpp" />
<ClCompile Include="test\meta.cpp" />
<ClCompile Include="test\optional.cpp" />
<ClCompile Include="test\range_access.cpp" />
<ClCompile Include="test\span.cpp" />
<ClCompile Include="test\tagged.cpp" />
<ClCompile Include="test\iterator\iterator.cpp" />
<ClCompile Include="test\iterator\move_iterator.cpp" />
<ClCompile Include="test\iterator\reverse_iterator.cpp" />
<ClCompile Include="test\variant.cpp" />
<ClCompile Include="test\view\move_view.cpp" />
<ClCompile Include="test\view\repeat_n_view.cpp" />
<ClCompile Include="test\view\repeat_view.cpp" />
</ItemGroup>
Expand All @@ -388,15 +438,18 @@
<Text Include="test\detail\CMakeLists.txt" />
<Text Include="test\functional\CMakeLists.txt" />
<Text Include="test\iterator\CMakeLists.txt" />
<Text Include="test\memory\CMakeLists.txt" />
<Text Include="test\view\CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
<None Include=".gitattributes" />
<None Include=".gitignore" />
<None Include=".travis.yml" />
<None Include="include\experimental\ranges\algorithm" />
<None Include="include\experimental\ranges\concepts" />
<None Include="include\experimental\ranges\functional" />
<None Include="include\experimental\ranges\iterator" />
<None Include="include\experimental\ranges\memory" />
<None Include="include\experimental\ranges\random" />
<None Include="include\experimental\ranges\tuple" />
<None Include="include\experimental\ranges\type_traits" />
Expand All @@ -406,4 +459,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
Loading

0 comments on commit ac8a7e6

Please sign in to comment.