New utility classes, containers, C++14 compatibility, and fixes:

* Add std::equal_to <void> (since C++14)
* Add heterogeneous std::equal (since C++14)
* Add maybe_const
* Add empty_base_optimization
* Add is_constructible specialization for pair, tuple
* Add aged associative containers:
  - aged_set, aged_map, aged_multiset, aged_multimap
  - aged_unordered_set, aged_unordered_map,
  - aged_unordered_multiset, aged_unordered_multimap
* Fix auto keyword pass by reference
* Fix basic_seconds_clock warning and project file
This commit is contained in:
Vinnie Falco
2014-02-16 19:43:16 -08:00
parent c48b9244f2
commit 78e1995365
26 changed files with 7070 additions and 11 deletions

View File

@@ -8,7 +8,7 @@
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>BEAST_COMPILING_STATIC_LIBARARY=1;_CRTDBG_MAP_ALLOC;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>BEAST_COMPILING_STATIC_LIBARARY=1;_CRTDBG_MAP_ALLOC;_WIN32_WINNT=0x0600;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>$(RepoDir)\config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

View File

@@ -116,6 +116,20 @@
<ClInclude Include="..\..\beast\config\SelectPlatformConfig.h" />
<ClInclude Include="..\..\beast\config\SelectStdlibConfig.h" />
<ClInclude Include="..\..\beast\config\StandardConfig.h" />
<ClInclude Include="..\..\beast\container\aged_container_utility.h" />
<ClInclude Include="..\..\beast\container\aged_container.h" />
<ClInclude Include="..\..\beast\container\aged_map.h" />
<ClInclude Include="..\..\beast\container\aged_multimap.h" />
<ClInclude Include="..\..\beast\container\aged_multiset.h" />
<ClInclude Include="..\..\beast\container\aged_set.h" />
<ClInclude Include="..\..\beast\container\aged_unordered_map.h" />
<ClInclude Include="..\..\beast\container\aged_unordered_multimap.h" />
<ClInclude Include="..\..\beast\container\aged_unordered_multiset.h" />
<ClInclude Include="..\..\beast\container\aged_unordered_set.h" />
<ClInclude Include="..\..\beast\container\detail\aged_associative_container.h" />
<ClInclude Include="..\..\beast\container\detail\aged_ordered_container.h" />
<ClInclude Include="..\..\beast\container\detail\aged_container_iterator.h" />
<ClInclude Include="..\..\beast\container\detail\aged_unordered_container.h" />
<ClInclude Include="..\..\beast\Crypto.h" />
<ClInclude Include="..\..\beast\crypto\BinaryEncoding.h" />
<ClInclude Include="..\..\beast\crypto\impl\sha2\sha2.h" />
@@ -125,6 +139,8 @@
<ClInclude Include="..\..\beast\crypto\UnsignedIntegerCalc.h" />
<ClInclude Include="..\..\beast\CStdInt.h" />
<ClInclude Include="..\..\beast\cyclic_iterator.h" />
<ClInclude Include="..\..\beast\equal.h" />
<ClInclude Include="..\..\beast\equal_to.h" />
<ClInclude Include="..\..\beast\FixedArray.h" />
<ClInclude Include="..\..\beast\HeapBlock.h" />
<ClInclude Include="..\..\beast\HTTP.h" />
@@ -152,6 +168,7 @@
<ClInclude Include="..\..\beast\Intrusive.h" />
<ClInclude Include="..\..\beast\intrusive\List.h" />
<ClInclude Include="..\..\beast\intrusive\LockFreeStack.h" />
<ClInclude Include="..\..\beast\is_constructible.h" />
<ClInclude Include="..\..\beast\make_unique.h" />
<ClInclude Include="..\..\beast\Memory.h" />
<ClInclude Include="..\..\beast\MPL.h" />
@@ -205,11 +222,13 @@
<ClInclude Include="..\..\beast\type_traits\IntegralConstant.h" />
<ClInclude Include="..\..\beast\type_traits\IsIntegral.h" />
<ClInclude Include="..\..\beast\type_traits\IsSigned.h" />
<ClInclude Include="..\..\beast\type_traits\maybe_const.h" />
<ClInclude Include="..\..\beast\type_traits\RemoveSigned.h" />
<ClInclude Include="..\..\beast\Uncopyable.h" />
<ClInclude Include="..\..\beast\Utility.h" />
<ClInclude Include="..\..\beast\utility\BaseFromMember.h" />
<ClInclude Include="..\..\beast\utility\Debug.h" />
<ClInclude Include="..\..\beast\utility\empty_base_optimization.h" />
<ClInclude Include="..\..\beast\utility\EnableIf.h" />
<ClInclude Include="..\..\beast\utility\Error.h" />
<ClInclude Include="..\..\beast\utility\hash_pair.h" />
@@ -416,6 +435,12 @@
</ClCompile>
<ClCompile Include="..\..\beast\boost\Boost.cpp" />
<ClCompile Include="..\..\beast\chrono\Chrono.cpp" />
<ClCompile Include="..\..\beast\chrono\impl\basic_seconds_clock.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\beast\chrono\impl\chrono_io.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -440,6 +465,13 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\beast\container\Container.cpp" />
<ClCompile Include="..\..\beast\container\impl\aged_associative_container.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\beast\crypto\Crypto.cpp" />
<ClCompile Include="..\..\beast\crypto\impl\BinaryEncoding.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

View File

@@ -195,9 +195,6 @@
<Filter Include="beast">
<UniqueIdentifier>{92d1bb42-289a-4444-85c7-cb87540f2fff}</UniqueIdentifier>
</Filter>
<Filter Include="beast\intrusive">
<UniqueIdentifier>{8832eb52-53f9-4850-8dc9-1d579a386a0e}</UniqueIdentifier>
</Filter>
<Filter Include="beast\mpl">
<UniqueIdentifier>{5904368f-a0f2-4d26-a031-8cbe4448dc3f}</UniqueIdentifier>
</Filter>
@@ -297,6 +294,18 @@
<Filter Include="beast\net\detail">
<UniqueIdentifier>{43cc0f2a-9905-4081-8104-48d2c4be9e7e}</UniqueIdentifier>
</Filter>
<Filter Include="beast\container">
<UniqueIdentifier>{48c7ee12-704c-42cb-99ea-9a486bb4b57e}</UniqueIdentifier>
</Filter>
<Filter Include="beast\container\impl">
<UniqueIdentifier>{e30eda19-95b4-4831-b86a-ee5fae88abd2}</UniqueIdentifier>
</Filter>
<Filter Include="beast\container\detail">
<UniqueIdentifier>{a4dca8cc-7d1f-4353-b7e1-15eab33e8bd4}</UniqueIdentifier>
</Filter>
<Filter Include="beast\intrusive">
<UniqueIdentifier>{8832eb52-53f9-4850-8dc9-1d579a386a0e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\modules\beast_core\beast_core.h">
@@ -1269,6 +1278,66 @@
<ClInclude Include="..\..\beast\chrono\ScopedTimeInterval.h">
<Filter>beast\chrono</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\equal_to.h">
<Filter>beast</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\equal.h">
<Filter>beast</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\type_traits\maybe_const.h">
<Filter>beast\type_traits</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\utility\empty_base_optimization.h">
<Filter>beast\utility</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\detail\aged_associative_container.h">
<Filter>beast\container\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\detail\aged_container_iterator.h">
<Filter>beast\container\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_map.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_multimap.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_multiset.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_set.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_unordered_map.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_unordered_multimap.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_unordered_multiset.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_unordered_set.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\detail\aged_ordered_container.h">
<Filter>beast\container\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\detail\aged_unordered_container.h">
<Filter>beast\container\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\detail\aged_associative_container.h">
<Filter>beast\container\detail</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\is_constructible.h">
<Filter>beast</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_container_utility.h">
<Filter>beast\container</Filter>
</ClInclude>
<ClInclude Include="..\..\beast\container\aged_container.h">
<Filter>beast\container</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\modules\beast_core\containers\DynamicObject.cpp">
@@ -1847,6 +1916,15 @@
<ClCompile Include="..\..\beast\chrono\Chrono.cpp">
<Filter>beast\chrono</Filter>
</ClCompile>
<ClCompile Include="..\..\beast\chrono\impl\basic_seconds_clock.cpp">
<Filter>beast\chrono\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\beast\container\Container.cpp">
<Filter>beast\container</Filter>
</ClCompile>
<ClCompile Include="..\..\beast\container\impl\aged_associative_container.cpp">
<Filter>beast\container\impl</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Text Include="..\..\TODO.txt">