diff options
Diffstat (limited to 'src/boost/libs/icl/test')
288 files changed, 34790 insertions, 0 deletions
diff --git a/src/boost/libs/icl/test/Jamfile.v2 b/src/boost/libs/icl/test/Jamfile.v2 new file mode 100644 index 00000000..1e4b9a3e --- /dev/null +++ b/src/boost/libs/icl/test/Jamfile.v2 @@ -0,0 +1,161 @@ +# (C) Copyright 2008-2011: Joachim Faulhaber +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +# bring in rules for testing +import testing ; +import feature ; + +project + : requirements + <library>/boost/test//boost_unit_test_framework + <library>/boost/date_time//boost_date_time + <library>/boost/chrono//boost_chrono + <link>static + <include>../../.. + ; + +test-suite "itl" + : + # interval + [ run fastest_icl_interval_/fastest_icl_interval.cpp ] + + # sets + [ run fastest_interval_set_/fastest_interval_set.cpp ] + [ run fastest_interval_set_infix_/fastest_interval_set_infix.cpp ] + + [ run fastest_separate_interval_set_/fastest_separate_interval_set.cpp ] + [ run fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp ] + + [ run fastest_split_interval_set_/fastest_split_interval_set.cpp ] + [ run fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp ] + + [ run fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp ] + + # maps + [ run fastest_interval_map_/fastest_interval_map.cpp ] + + [ run fast_stat_interval_map_/fast_stat_interval_map.cpp + : : : : interval_map_right_open ] + [ run fast_stat_interval_map_/fast_stat_interval_map.cpp + : : : <define>BOOST_ICL_CONTINUOUS_STATIC_INTERVAL_DEFAULT=left_open_interval + : interval_map_left_open ] + + [ run fastest_interval_map_infix_/fastest_interval_map_infix.cpp ] + [ run fastest_split_interval_map_/fastest_split_interval_map.cpp ] + [ run fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp ] + [ run fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp ] + [ run fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp ] + [ run fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp ] + [ run fastest_icl_map_/fastest_icl_map.cpp ] + + # handcoded tests using laws (not LaBatea) ------------------------------- + # Concept Set + [ run fastest_set_interval_set_/fastest_set_interval_set.cpp ] + [ run fastest_set_icl_set_/fastest_set_icl_set.cpp ] + + # Concept Map + [ run fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp ] + [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp ] + [ run fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp ] + [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp ] + + # Misc ------------------------------------------------------------------- + [ run test_misc_/test_misc.cpp ] + [ run test_doc_code_/test_doc_code.cpp ] + [ run test_type_traits_/test_type_traits.cpp ] + # test_combinable is too slow or too large for some compilers + #[ run test_combinable_/test_combinable.cpp ] + [ run test_changing_interval_defaults_/test_changing_interval_defaults.cpp ] + + # Bug fixes -------------------------------------------------------------- + [ run fix_icl_after_thread_/fix_icl_after_thread.cpp ] + [ run fix_tickets_/fix_tickets.cpp ] + + # Check for compiler bugs ------------------------------------------------ + # compile-fail-tests + [ run cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp ] + [ run cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp ] + [ run cmp_clang_ttp_passing2_/cmp_clang_ttp_passing2.cpp ] + + # Examples --------------------------------------------------------------- + [ run ex_boost_party_/ex_boost_party.cpp ] + + # Ad hoc ----------------------------------------------------------------- + #[ run test_casual_/test_casual.cpp ] + + + # ======================================================================== + # Chrono ----------------------------------------------------------------- + # interval + [ run fastest_icl_interval_/fastest_icl_interval.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_icl_interval ] + + # sets + [ run fastest_interval_set_/fastest_interval_set.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_set ] + + [ run fastest_interval_set_infix_/fastest_interval_set_infix.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_set_infix ] + + [ run fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_set_mixed ] + + # maps + [ run fastest_interval_map_/fastest_interval_map.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_map ] + + [ run fastest_interval_map_infix_/fastest_interval_map_infix.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_map_infix ] + + [ run fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_map_mixed ] + + [ run fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_map_mixed2 ] + + [ run fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_interval_map_infix_mixed ] + + [ run fastest_icl_map_/fastest_icl_map.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_icl_map ] + + + # handcoded tests using laws (not LaBatea) ------------------------------- + # Concept Set + [ run fastest_set_interval_set_/fastest_set_interval_set.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_set_interval_set ] + + [ run fastest_set_icl_set_/fastest_set_icl_set.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_set_icl_set ] + + # Concept Map + [ run fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_partial_interval_quantifier ] + + [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_total_interval_quantifier ] + + [ run fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_partial_icl_quantifier ] + + [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp + : : : <define>BOOST_ICL_TEST_CHRONO + : chrono_total_icl_quantifier ] + + ; diff --git a/src/boost/libs/icl/test/chrono/utility.hpp b/src/boost/libs/icl/test/chrono/utility.hpp new file mode 100644 index 00000000..5c12e31b --- /dev/null +++ b/src/boost/libs/icl/test/chrono/utility.hpp @@ -0,0 +1,49 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_LIBS_ICL_TEST_CHRONO_UTILITY_HPP_JOFA_20110314 +#define BOOST_LIBS_ICL_TEST_CHRONO_UTILITY_HPP_JOFA_20110314 + +#include <boost/chrono/chrono.hpp> +#include <boost/chrono/chrono_io.hpp> + +// In order to perform simple testing with chrono::time_point +// we need to provide a dummy test clock + +class Now // A trivial test clock +{ +public: + typedef boost::chrono::duration<int> duration; + typedef duration::rep rep; + typedef duration::period periond; + typedef boost::chrono::time_point<Now> time_point; + + static time_point now(){ return time_point(); } +}; + +namespace boost{ namespace chrono { + +template <class CharT> +struct clock_string<Now, CharT> +{ + static std::basic_string<CharT> name() + { + static const CharT u[] = {'n', 'o', 'w', '_', 'c', 'l','o', 'c', 'k'}; + static const std::basic_string<CharT> str(u, u + sizeof(u)/sizeof(u[0])); + return str; + } + static std::basic_string<CharT> since() + { + const CharT u[] = {' ', 's', 'i', 'n', 'c', 'e', ' ', 'n', 'o', 'w'}; + const std::basic_string<CharT> str(u, u + sizeof(u)/sizeof(u[0])); + return str; + } +}; + +}} //namespace boost chrono + +#endif //BOOST_LIBS_ICL_TEST_CHRONO_UTILITY_HPP_JOFA_20110314 diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/cmp_clang_ttp_passing2.cpp b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/cmp_clang_ttp_passing2.cpp new file mode 100644 index 00000000..3c593cec --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/cmp_clang_ttp_passing2.cpp @@ -0,0 +1,40 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::cmp_clang_ttp_passing2 unit test +#include "../unit_test_unwarned.hpp" + +#include <boost/icl/interval_set.hpp> + +template +< + template + < + class _T, + template<class>class Compare = std::less, + class Interval = typename boost::icl:: + interval_type_default<_T,Compare>::type, + template<class>class Alloc = std::allocator + > + class IntervalSet, + class T +> +bool test_ttp() +{ + typedef IntervalSet<T> IntervalSetT; + IntervalSetT test_set; + test_set.clear(); + return true; +} + + +BOOST_AUTO_TEST_CASE(dummy) +{ + bool result = test_ttp<boost::icl::interval_set, int>(); + BOOST_CHECK( result ); +} + diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj new file mode 100644 index 00000000..9e72c5cc --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}</ProjectGuid> + <RootNamespace>cmp_clang_ttp_passing2</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="cmp_clang_ttp_passing2.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj.filters b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj.filters new file mode 100644 index 00000000..4c40aa16 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc10_cmp_clang_ttp_passing2.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="cmp_clang_ttp_passing2.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc9_cmp_clang_ttp_passing2.vcproj b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc9_cmp_clang_ttp_passing2.vcproj new file mode 100644 index 00000000..a302b758 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing2_/vc9_cmp_clang_ttp_passing2.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_cmp_clang_ttp_passing2" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}" + RootNamespace="cmp_clang_ttp_passing2" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\cmp_clang_ttp_passing2.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp new file mode 100644 index 00000000..9d723ebc --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp @@ -0,0 +1,65 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::cmp_clang_ttp_passing unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <boost/config.hpp> +#include "../unit_test_unwarned.hpp" + + +namespace sep +{ + template<class T>class less{}; + + template + < + class T, + template<class>class Less = sep::less + > + class interv + { + public: + typedef interv<T,Less> type; + }; + + template + < + class T, + template<class>class Less = sep::less, + class I = typename sep::interv<T,Less>::type + > + class cont + { + public: + bool test()const { return true; } + }; +}//namespace sep + +template +< + template + < + class _T, + template<class>class _Less = sep::less, + class I = typename sep::interv<_T,_Less>::type + > + class Cont, + class T +> +bool test_ttp() +{ + typedef Cont<T> cont_type; + cont_type test_cont; + return test_cont.test(); +}; + +BOOST_AUTO_TEST_CASE(dummy) +{ + bool result = test_ttp<sep::cont, int>(); + BOOST_CHECK( result ); +} + diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj new file mode 100644 index 00000000..dd788a25 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}</ProjectGuid> + <RootNamespace>cmp_clang_ttp_passing</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="cmp_clang_ttp_passing.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj.filters b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj.filters new file mode 100644 index 00000000..b43ed114 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc10_cmp_clang_ttp_passing.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="cmp_clang_ttp_passing.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc9_cmp_clang_ttp_passing.vcproj b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc9_cmp_clang_ttp_passing.vcproj new file mode 100644 index 00000000..9535b2c2 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_clang_ttp_passing_/vc9_cmp_clang_ttp_passing.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_cmp_clang_ttp_passing" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}" + RootNamespace="cmp_clang_ttp_passing" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\cmp_clang_ttp_passing.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp b/src/boost/libs/icl/test/cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp new file mode 100644 index 00000000..7d3bd454 --- /dev/null +++ b/src/boost/libs/icl/test/cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp @@ -0,0 +1,39 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::cmp_msvc_value_born_error unit test +#include <boost/config.hpp> +#include "../unit_test_unwarned.hpp" + +namespace unhelpful{ + // This declaration of a class template will cause + // the compilation of line 17 to fail with syntax error C2059 + template<class T> class value{}; +} + +//--- affected code --------------------------------------- +template <class Type> struct meta_attribute +{ + BOOST_STATIC_CONSTANT(int, value = 0); +}; + +template <class Type> struct meta_predicate +{ + BOOST_STATIC_CONSTANT(bool, value = + ( meta_attribute<Type>::value < 1) + //error C2059: syntax error : ')' + //IF class template value declared before + // ((meta_attribute<Type>::value) < 1) // Remedy#1 enclose into () + // ( meta_attribute<Type>::value <=0) // Remedy#2 use operator <= + ); +}; + +BOOST_AUTO_TEST_CASE(dummy) +{ + BOOST_CHECK( meta_predicate<int>::value ); +} + diff --git a/src/boost/libs/icl/test/disable_test_warnings.hpp b/src/boost/libs/icl/test/disable_test_warnings.hpp new file mode 100644 index 00000000..a7aff58e --- /dev/null +++ b/src/boost/libs/icl/test/disable_test_warnings.hpp @@ -0,0 +1,25 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_DETAIL_DISABLE_TEST_WARNINGS_HPP_JOFA_101031 +#define BOOST_ICL_DETAIL_DISABLE_TEST_WARNINGS_HPP_JOFA_101031 + +#include <boost/icl/detail/boost_config.hpp> +#include <boost/detail/workaround.hpp> +#include <boost/test/detail/suppress_warnings.hpp> + +#ifdef BOOST_MSVC // These warnings are disabled permanently for tests. +#pragma warning(disable:4996) // Function call with parameters that may be unsafe +#pragma warning(disable:4503) // decorated name length exceeded, name was truncated +#pragma warning(disable:4702) // unreachable code +#endif + +#if defined(BOOST_GCC) +# pragma GCC diagnostic ignored "-Wsign-compare" +#endif + +#endif // BOOST_ICL_DETAIL_DISABLE_TEST_WARNINGS_HPP_JOFA_101031 diff --git a/src/boost/libs/icl/test/ex_boost_party_/ex_boost_party.cpp b/src/boost/libs/icl/test/ex_boost_party_/ex_boost_party.cpp new file mode 100644 index 00000000..a50a8f68 --- /dev/null +++ b/src/boost/libs/icl/test/ex_boost_party_/ex_boost_party.cpp @@ -0,0 +1,134 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::example_boost_party unit test + +#include <libs/icl/test/disable_test_warnings.hpp> +#include "../unit_test_unwarned.hpp" +//#include <boost/icl/set.hpp> // Needed for implicit calls of operator << on +//JODO CLANG // GuestSets via test macros. + +//------------------------------------------------------------------------------ +// begin example code. return value added to function boost_party +//------------------------------------------------------------------------------ +#include <boost/icl/ptime.hpp> +#include <iostream> +#include <boost/icl/interval_map.hpp> + +using namespace std; +using namespace boost::posix_time; +using namespace boost::icl; + +// Type set<string> collects the names of party guests. Since std::set is +// a model of the itl's set concept, the concept provides an operator += +// that performs a set union on overlap of intervals. +typedef std::set<string> GuestSetT; + +interval_map<ptime, GuestSetT> boost_party() +{ + GuestSetT mary_harry; + mary_harry.insert("Mary"); + mary_harry.insert("Harry"); + + GuestSetT diana_susan; + diana_susan.insert("Diana"); + diana_susan.insert("Susan"); + + GuestSetT peter; + peter.insert("Peter"); + + // A party is an interval map that maps time intervals to sets of guests + interval_map<ptime, GuestSetT> party; + + party.add( // add and element + make_pair( + interval<ptime>::right_open( + time_from_string("2008-05-20 19:30"), + time_from_string("2008-05-20 23:00")), + mary_harry)); + + party += // element addition can also be done via operator += + make_pair( + interval<ptime>::right_open( + time_from_string("2008-05-20 20:10"), + time_from_string("2008-05-21 00:00")), + diana_susan); + + party += + make_pair( + interval<ptime>::right_open( + time_from_string("2008-05-20 22:15"), + time_from_string("2008-05-21 00:30")), + peter); + + + interval_map<ptime, GuestSetT>::iterator it = party.begin(); + cout << "----- History of party guests -------------------------\n"; + while(it != party.end()) + { + interval<ptime>::type when = it->first; + // Who is at the party within the time interval 'when' ? + GuestSetT who = (*it++).second; + cout << when << ": " << who << endl; + } + + return party; +} +//------------------------------------------------------------------------------ +// end example code +//------------------------------------------------------------------------------ + +typedef interval_map<ptime, GuestSetT> PartyHistory; + +typedef PartyHistory::segment_type SegmentT; + +SegmentT episode(const char* from, const char* to, GuestSetT guests) +{ + return make_pair( interval<ptime> + ::right_open( time_from_string(from) + , time_from_string(to) ) + , guests); +} + +PartyHistory check_party() +{ + GuestSetT mary_harry; + mary_harry.insert("Mary"); + mary_harry.insert("Harry"); + + GuestSetT diana_susan; + diana_susan.insert("Diana"); + diana_susan.insert("Susan"); + + GuestSetT peter; + peter.insert("Peter"); + + GuestSetT Diana_Harry_Mary_Susan = mary_harry + diana_susan; + GuestSetT Diana_Harry_Mary_Peter_Susan = Diana_Harry_Mary_Susan + peter; + GuestSetT Diana_Peter_Susan = Diana_Harry_Mary_Peter_Susan - mary_harry; + + PartyHistory party; + + party += episode("2008-05-20 19:30", "2008-05-20 20:10", mary_harry); + party += episode("2008-05-20 20:10", "2008-05-20 22:15", Diana_Harry_Mary_Susan); + party += episode("2008-05-20 22:15", "2008-05-20 23:00", Diana_Harry_Mary_Peter_Susan); + party += episode("2008-05-20 23:00", "2008-05-21 00:00", Diana_Peter_Susan); + party += episode("2008-05-21 00:00", "2008-05-21 00:30", peter); + + return party; +} + +BOOST_AUTO_TEST_CASE(icl_example_boost_party) +{ + PartyHistory party1 = boost_party(); + PartyHistory party2 = check_party(); + bool party_equality = (party1==party2); + BOOST_CHECK(party_equality); + //BOOST_CHECK_EQUAL(boost_party(), check_party()); +} + + diff --git a/src/boost/libs/icl/test/ex_boost_party_/vc10_ex_boost_party.vcxproj b/src/boost/libs/icl/test/ex_boost_party_/vc10_ex_boost_party.vcxproj new file mode 100644 index 00000000..d36bcb6f --- /dev/null +++ b/src/boost/libs/icl/test/ex_boost_party_/vc10_ex_boost_party.vcxproj @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}</ProjectGuid> + <RootNamespace>Ex_boost_party</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="ex_boost_party.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fast_stat_interval_map_/fast_stat_interval_map.cpp b/src/boost/libs/icl/test/fast_stat_interval_map_/fast_stat_interval_map.cpp new file mode 100644 index 00000000..d9fac958 --- /dev/null +++ b/src/boost/libs/icl/test/fast_stat_interval_map_/fast_stat_interval_map.cpp @@ -0,0 +1,39 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +//#define BOOST_ICL_CONTINUOUS_STATIC_INTERVAL_DEFAULT left_open_interval + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_functions.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fast_stat_interval_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj b/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj new file mode 100644 index 00000000..46451405 --- /dev/null +++ b/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}</ProjectGuid> + <RootNamespace>Fast_stat_interval_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fast_stat_interval_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj.filters b/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj.filters new file mode 100644 index 00000000..42279424 --- /dev/null +++ b/src/boost/libs/icl/test/fast_stat_interval_map_/vc10_fast_stat_interval_map.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fast_stat_interval_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fast_stat_interval_map_/vc9_fast_stat_interval_map.vcproj b/src/boost/libs/icl/test/fast_stat_interval_map_/vc9_fast_stat_interval_map.vcproj new file mode 100644 index 00000000..39a11268 --- /dev/null +++ b/src/boost/libs/icl/test/fast_stat_interval_map_/vc9_fast_stat_interval_map.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fast_stat_interval_map" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}" + RootNamespace="Fast_stat_interval_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fast_stat_interval_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fast_stat_interval_map_cases.hpp b/src/boost/libs/icl/test/fast_stat_interval_map_cases.hpp new file mode 100644 index 00000000..23cc2ce0 --- /dev/null +++ b/src/boost/libs/icl/test/fast_stat_interval_map_cases.hpp @@ -0,0 +1,85 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FAST_STAT_INTERVAL_MAP_CASES_HPP_JOFA_110301 +#define BOOST_ICL_FAST_STAT_INTERVAL_MAP_CASES_HPP_JOFA_110301 + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_fundamentals_4_ordered_types) +{ interval_map_fundamentals_4_ordered_types<INTERVAL_MAP, discrete_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_ctor_4_bicremental_types) +{ interval_map_ctor_4_bicremental_types<INTERVAL_MAP, discrete_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_add_sub_4_bicremental_types) +{ interval_map_add_sub_4_bicremental_types<INTERVAL_MAP, discrete_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_contains_4_bicremental_types) +{ interval_map_contains_4_bicremental_types<INTERVAL_MAP, discrete_type_4, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_contains_key_objects_4_bicremental_types) +{ interval_map_contains_key_objects_4_bicremental_types<INTERVAL_MAP, discrete_type_5, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_operators_4_bicremental_types) +{ interval_map_operators_4_bicremental_types<INTERVAL_MAP, discrete_type_6, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_intersect_4_bicremental_types) +{ interval_map_base_intersect_4_bicremental_types<INTERVAL_MAP, discrete_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_erase_4_bicremental_types) +{ interval_map_base_erase_4_bicremental_types<INTERVAL_MAP, signed_discrete_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_is_disjoint_4_bicremental_types) +{ interval_map_base_is_disjoint_4_bicremental_types<INTERVAL_MAP, discrete_type_8, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_flip_4_bicremental_types) +{ interval_map_flip_4_bicremental_types<INTERVAL_MAP, discrete_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_find_4_bicremental_types) +{ interval_map_find_4_bicremental_types<INTERVAL_MAP, discrete_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_find_4_numeric_continuous_types) +{ interval_map_find_4_numeric_continuous_types<INTERVAL_MAP, numeric_continuous_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_range_4_bicremental_types) +{ interval_map_range_4_bicremental_types<INTERVAL_MAP, discrete_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_set_4_bicremental_types) +{ interval_map_set_4_bicremental_types<INTERVAL_MAP, discrete_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_inclusion_compare_4_bicremental_types) +{ interval_map_inclusion_compare_4_bicremental_types<discrete_type_4, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_std_copy_via_inserter_4_bicremental_types) +{ interval_map_std_copy_via_inserter_4_bicremental_types<signed_discrete_type_1, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_element_iter_4_discrete_types) +{ interval_map_element_iter_4_discrete_types<discrete_type_2, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_intersects_4_bicremental_types) +{ interval_map_intersects_4_bicremental_types<INTERVAL_MAP, discrete_type_3, int>();} + + +#endif // BOOST_ICL_FAST_STAT_INTERVAL_MAP_CASES_HPP_JOFA_110301 + diff --git a/src/boost/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp b/src/boost/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp new file mode 100644 index 00000000..8a6d7991 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp @@ -0,0 +1,169 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_interval_laws.hpp" + +#include <boost/icl/right_open_interval.hpp> +#include <boost/icl/left_open_interval.hpp> +#include <boost/icl/closed_interval.hpp> +#include <boost/icl/open_interval.hpp> + +#include <boost/icl/discrete_interval.hpp> +#include <boost/icl/continuous_interval.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_icl_interval_shared.hpp" +#include "../test_icl_interval.hpp" +#include "../test_icl_dynamic_interval.hpp" +#include "../test_icl_discrete_interval.hpp" +#include "../test_icl_continuous_interval.hpp" +#include "../test_icl_static_interval.hpp" + +//============================================================================== +//= Traits +//============================================================================== +BOOST_AUTO_TEST_CASE +(fastest_icl_discrete_interval_traits) +{ discrete_interval_traits<discrete_type_1, discrete_interval<discrete_type_1> >(); } + +//============================================================================== + +//- sta.asy.{dis|con} ---------------------------------------------------------- +BOOST_AUTO_TEST_CASE +(fastest_icl_right_open_interval_ctor_4_ordered_types) +{ interval_ctor_4_ordered_types<right_open_interval<ordered_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_right_open_interval_4_ordered_types) +{ singelizable_interval_4_ordered_types<right_open_interval<discrete_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_right_open_interval_4_bicremental_types) +{ singelizable_interval_4_bicremental_types<right_open_interval<discrete_type_2> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_left_open_interval_ctor_4_ordered_types) +{ interval_ctor_4_ordered_types<left_open_interval<ordered_type_2> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_left_open_interval_4_ordered_types_singelizable) +{ singelizable_interval_4_ordered_types<left_open_interval<signed_discrete_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_left_open_interval_4_bicremental_types) +{ singelizable_interval_4_bicremental_types<left_open_interval<discrete_type_4> >(); } + +//- coverables ----------------------------------------------------------------- +BOOST_AUTO_TEST_CASE +(fastest_cover_right_open_interval_4_bicremental_types) +{ coverable_asymmetric_interval_4_bicremental_types<right_open_interval<numeric_continuous_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_cover_left_open_interval_4_bicremental_types) +{ coverable_asymmetric_interval_4_bicremental_types<left_open_interval<numeric_continuous_type_3> >(); } + +//- dyn.dis -------------------------------------------------------------------- +BOOST_AUTO_TEST_CASE +(fastest_icl_discrete_interval_ctor_4_discrete_types_base) +{ interval_ctor_4_ordered_types<discrete_interval<discrete_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_discrete_interval_ctor_4_discrete_types_dynamic) +{ dynamic_interval_ctor_4_ordered_types<discrete_interval<discrete_type_2> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_discrete_interval_4_ordered_types) +{ singelizable_interval_4_ordered_types<discrete_interval<discrete_type_3> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_discrete_interval_4_bicremental_types) +{ singelizable_interval_4_bicremental_types<discrete_interval<discrete_type_3> >(); } + +//- dyn.con -------------------------------------------------------------------- +BOOST_AUTO_TEST_CASE +(fastest_icl_continuous_interval_ctor_4_continuous_types_base) +{ interval_ctor_4_ordered_types<continuous_interval<continuous_type_1> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_continuous_interval_ctor_4_continuous_types_dynamic) +{ dynamic_interval_ctor_4_ordered_types<continuous_interval<continuous_type_2> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_continuous_interval_4_continuous_types_singelizable) +{ singelizable_interval_4_ordered_types<continuous_interval<continuous_type_3> >(); } + +//------------------------------------------------------------------------------ + +BOOST_AUTO_TEST_CASE +(fastest_icl_distant_intervals_4_discrete_types) +{ distant_intervals_4_discrete_types<discrete_type_1, std::less>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_distant_intervals_4_numeric_continuous_types) +{ distant_intervals_4_numeric_continuous_types<numeric_continuous_type_1, std::less>(); } + +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_dynamic_interval_bounds_4_bicremental_types) +{ dynamic_interval_bounds_4_bicremental_types<bicremental_type_2>(); } + +//============================================================================== +//============================================================================== +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_equal_4_integral_types) +{ interval_equal_4_integral_types<integral_type_2>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_less_4_integral_types) +{ interval_less_4_integral_types<integral_type_3>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_touches_4_bicremental_types) +{ interval_touches_4_bicremental_types<bicremental_type_1>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_touches_4_integral_types) +{ interval_touches_4_integral_types<integral_type_4>(); } + +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_ctor_specific) +{ interval_ctor_specific(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_equal_4_bicremental_continuous_types) +{ interval_equal_4_bicremental_continuous_types<bicremental_continuous_type_1>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_infix_intersect_4_bicremental_types) +{ interval_infix_intersect_4_bicremental_types<bicremental_type_4>(); } + +#else + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_infix_intersect_4_bicremental_types) +{ interval_infix_intersect_4_bicremental_types<discrete_type_2>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_subtract_4_bicremental_types) +{ interval_subtract_4_bicremental_types<bicremental_type_5>(); } + +#endif // ndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS diff --git a/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj b/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj new file mode 100644 index 00000000..2bbacfcc --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}</ProjectGuid> + <RootNamespace>Fastest_icl_interval</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_icl_interval.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj.filters b/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj.filters new file mode 100644 index 00000000..8a321ffb --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_interval_/vc10_fastest_icl_interval.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_icl_interval.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_icl_interval_/vc9_fastest_icl_interval.vcproj b/src/boost/libs/icl/test/fastest_icl_interval_/vc9_fastest_icl_interval.vcproj new file mode 100644 index 00000000..6b058a09 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_interval_/vc9_fastest_icl_interval.vcproj @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_icl_interval" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}" + RootNamespace="Fastest_icl_interval" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_icl_interval.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map.cpp b/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map.cpp new file mode 100644 index 00000000..ecd6bc42 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map.cpp @@ -0,0 +1,39 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::icl_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <set> +#include <boost/icl/associative_element_container.hpp> +#include <boost/icl/map.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_icl_map.hpp" + +#define INTERVAL_MAP interval_map +#include "fastest_icl_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp b/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp new file mode 100644 index 00000000..9cdb581e --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp @@ -0,0 +1,23 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE +(fastest_icl_icl_map_contains_4_bicremental_types) +{ icl_map_contains_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_icl_map_find_4_bicremental_types) +{ icl_map_find_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_icl_map_move_4_discrete_types) +{ icl_map_move_4_discrete_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();} + +#endif // BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 diff --git a/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj b/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj new file mode 100644 index 00000000..56aa293c --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}</ProjectGuid> + <RootNamespace>Fastest_icl_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_icl_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj.filters b/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj.filters new file mode 100644 index 00000000..9eaba773 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_map_/vc10_fastest_icl_map.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_icl_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_icl_map_/vc9_fastest_icl_map.vcproj b/src/boost/libs/icl/test/fastest_icl_map_/vc9_fastest_icl_map.vcproj new file mode 100644 index 00000000..60ed9b57 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_icl_map_/vc9_fastest_icl_map.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_icl_map" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}" + RootNamespace="Fastest_icl_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_icl_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_map_/fastest_interval_map.cpp b/src/boost/libs/icl/test/fastest_interval_map_/fastest_interval_map.cpp new file mode 100644 index 00000000..b1eb616a --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_/fastest_interval_map.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_functions.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fastest_interval_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj b/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj new file mode 100644 index 00000000..94870a02 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}</ProjectGuid> + <RootNamespace>Fastest_interval_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj.filters new file mode 100644 index 00000000..7205fa33 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_/vc10_fastest_interval_map.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj b/src/boost/libs/icl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj new file mode 100644 index 00000000..ccdfdd83 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_map" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}" + RootNamespace="Fastest_interval_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_map_cases.hpp b/src/boost/libs/icl/test/fastest_interval_map_cases.hpp new file mode 100644 index 00000000..c61ebfc1 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_cases.hpp @@ -0,0 +1,101 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_INTERVAL_MAP_CASES_HPP_JOFA_090702 +#define BOOST_ICL_FASTEST_INTERVAL_MAP_CASES_HPP_JOFA_090702 + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_fundamentals_4_ordered_types) +{ interval_map_fundamentals_4_ordered_types<INTERVAL_MAP, ordered_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_ctor_4_bicremental_types) +{ interval_map_ctor_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_add_sub_4_bicremental_types) +{ interval_map_add_sub_4_bicremental_types<INTERVAL_MAP, bicremental_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_distinct_4_bicremental_types) +{ interval_map_distinct_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_distinct_4_bicremental_continuous_types) +{ interval_map_distinct_4_bicremental_continuous_types<INTERVAL_MAP, continuous_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_isolate_4_bicremental_continuous_types) +{ interval_map_isolate_4_bicremental_continuous_types<INTERVAL_MAP, continuous_type_2, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_contains_4_bicremental_types) +{ interval_map_contains_4_bicremental_types<INTERVAL_MAP, bicremental_type_4, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_contains_key_objects_4_bicremental_types) +{ interval_map_contains_key_objects_4_bicremental_types<INTERVAL_MAP, bicremental_type_4, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_operators_4_bicremental_types) +{ interval_map_operators_4_bicremental_types<INTERVAL_MAP, bicremental_type_5, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_intersect_4_bicremental_types) +{ interval_map_base_intersect_4_bicremental_types<INTERVAL_MAP, bicremental_type_6, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_erase_4_bicremental_types) +{ interval_map_base_erase_4_bicremental_types<INTERVAL_MAP, bicremental_type_7, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_base_is_disjoint_4_bicremental_types) +{ interval_map_base_is_disjoint_4_bicremental_types<INTERVAL_MAP, bicremental_type_8, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_flip_4_bicremental_types) +{ interval_map_flip_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_find_4_bicremental_types) +{ interval_map_find_4_bicremental_types<INTERVAL_MAP, bicremental_type_2, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_find_4_numeric_continuous_types) +{ interval_map_find_4_numeric_continuous_types<INTERVAL_MAP, numeric_continuous_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_range_4_bicremental_types) +{ interval_map_range_4_bicremental_types<INTERVAL_MAP, bicremental_type_2, double>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_set_4_bicremental_types) +{ interval_map_set_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_inclusion_compare_4_bicremental_types) +{ interval_map_inclusion_compare_4_bicremental_types<discrete_type_4, double, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_std_copy_via_inserter_4_bicremental_types) +{ interval_map_std_copy_via_inserter_4_bicremental_types<bicremental_type_4, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_element_iter_4_discrete_types) +{ interval_map_element_iter_4_discrete_types<discrete_type_2, double, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_intersects_4_bicremental_types) +{ interval_map_intersects_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_move_4_discrete_types) +{ interval_map_move_4_discrete_types<INTERVAL_MAP, discrete_type_1, double>();} + + +#endif // BOOST_ICL_FASTEST_INTERVAL_MAP_CASES_HPP_JOFA_090702 + diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp b/src/boost/libs/icl/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp new file mode 100644 index 00000000..d7920658 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_map_shared are tests that should give identical results for all +// interval_maps: interval_map and split_interval_map. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_interval_map_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj new file mode 100644 index 00000000..0dea33d0 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-F47E9765C011}</ProjectGuid> + <RootNamespace>Fastest_interval_map_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj.filters new file mode 100644 index 00000000..94b14566 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc10_fastest_interval_map_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj new file mode 100644 index 00000000..ccdef988 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_map_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-F47E9765C011}" + RootNamespace="Fastest_interval_map_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_map_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_cases.hpp b/src/boost/libs/icl/test/fastest_interval_map_infix_cases.hpp new file mode 100644 index 00000000..9150fa47 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_cases.hpp @@ -0,0 +1,32 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 +#define BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 + +BOOST_AUTO_TEST_CASE +(test_icl_interval_map_infix_plus_overload_4_bicremental_types) +{ interval_map_infix_plus_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(test_icl_interval_map_infix_pipe_overload_4_bicremental_types) +{ interval_map_infix_pipe_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(test_icl_interval_map_infix_minus_overload_4_bicremental_types) +{ interval_map_infix_minus_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(test_icl_interval_map_infix_et_overload_4_bicremental_types) +{ interval_map_infix_et_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_4, int>();} + +BOOST_AUTO_TEST_CASE +(test_icl_interval_map_infix_caret_overload_4_bicremental_types) +{ interval_map_infix_caret_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, int>();} + +#endif // BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 + diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp new file mode 100644 index 00000000..a4cbcd9e --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp @@ -0,0 +1,45 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_infix_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_map_mixed.hpp" + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_infix_plus_overload_4_bicremental_types) +{ interval_map_mixed_infix_plus_overload_4_bicremental_types<bicremental_type_1, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_infix_pipe_overload_4_bicremental_types) +{ interval_map_mixed_infix_pipe_overload_4_bicremental_types<bicremental_type_2, double>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_infix_minus_overload_4_bicremental_types) +{ interval_map_mixed_infix_minus_overload_4_bicremental_types<bicremental_type_3, boost::rational<int> >(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_infix_et_overload_4_bicremental_types) +{ interval_map_mixed_infix_et_overload_4_bicremental_types<bicremental_type_4, int>(); } diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj new file mode 100644 index 00000000..b9f3c665 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}</ProjectGuid> + <RootNamespace>Fastest_interval_map_infix_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_infix_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj.filters new file mode 100644 index 00000000..4f141cb7 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc10_fastest_interval_map_infix_mixed.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_infix_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj new file mode 100644 index 00000000..0bd7571e --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_map_infix_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}" + RootNamespace="Fastest_interval_map_infix_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_map_infix_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp new file mode 100644 index 00000000..072c1050 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp @@ -0,0 +1,84 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_map_mixed.hpp" + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_add_4_bicremental_types) +{ interval_map_mixed_add_4_bicremental_types<bicremental_type_1, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_add2_4_bicremental_types) +{ interval_map_mixed_add2_4_bicremental_types<bicremental_type_2, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_subtract_4_bicremental_types) +{ interval_map_mixed_subtract_4_bicremental_types<bicremental_type_3, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_erase_4_bicremental_types) +{ interval_map_mixed_erase_4_bicremental_types<bicremental_type_4, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_erase2_4_bicremental_types) +{ interval_map_mixed_erase2_4_bicremental_types<bicremental_type_5, int>(); } + + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_insert_erase_4_bicremental_types) +{ interval_map_mixed_insert_erase_4_bicremental_types<bicremental_type_6, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_insert_erase2_4_bicremental_types) +{ interval_map_mixed_insert_erase2_4_bicremental_types<bicremental_type_7, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_basic_intersect_4_bicremental_types) +{ interval_map_mixed_basic_intersect_4_bicremental_types<bicremental_type_8, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_basic_intersect2_4_bicremental_types) +{ interval_map_mixed_basic_intersect2_4_bicremental_types<bicremental_type_1, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_intersect_4_bicremental_types) +{ interval_map_mixed_intersect_4_bicremental_types<bicremental_type_2, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_intersect2_4_bicremental_types) +{ interval_map_mixed_intersect2_4_bicremental_types<bicremental_type_3, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_disjoint_4_bicremental_types) +{ interval_map_mixed_disjoint_4_bicremental_types<bicremental_type_4, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_erase_if_4_integral_types) +{ interval_map_mixed_erase_if_4_integral_types<int, int>(); } + diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj new file mode 100644 index 00000000..d07ab559 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}</ProjectGuid> + <RootNamespace>Fastest_interval_map_mixed2</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_mixed2.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj.filters new file mode 100644 index 00000000..ce61a218 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc10_fastest_interval_map_mixed2.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_mixed2.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj new file mode 100644 index 00000000..62903597 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_map_mixed2" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}" + RootNamespace="Fastest_interval_map_mixed2" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_map_mixed2.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp b/src/boost/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp new file mode 100644 index 00000000..fbd294e1 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp @@ -0,0 +1,63 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_map_mixed.hpp" + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_ctor_4_ordered_types) +{ interval_map_mixed_ctor_4_ordered_types<std::string, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_equal_4_ordered_types) +{ interval_map_mixed_equal_4_ordered_types<double, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_assign_4_ordered_types) +{ interval_map_mixed_assign_4_ordered_types<unsigned int, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_ctor_4_bicremental_types) +{ interval_map_mixed_ctor_4_bicremental_types<bicremental_type_1, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_assign_4_bicremental_types) +{ interval_map_mixed_assign_4_bicremental_types<bicremental_type_2, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_mixed_equal_4_bicremental_types) +{ interval_map_mixed_equal_4_bicremental_types<bicremental_type_3, int>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_partial_interval_map_mixed_inclusion_compare_4_bicremental_types) +{ partial_interval_map_mixed_inclusion_compare_4_bicremental_types<bicremental_type_4, int, partial_absorber>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_partial_interval_map_mixed_contains_4_bicremental_types) +{ partial_interval_map_mixed_contains_4_bicremental_types<int, int, partial_absorber>(); } + diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj new file mode 100644 index 00000000..ae4f0052 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}</ProjectGuid> + <RootNamespace>Fastest_interval_map_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\fastest_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj.filters new file mode 100644 index 00000000..799eb9d7 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc10_fastest_interval_map_mixed.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_map_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\fastest_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj new file mode 100644 index 00000000..f34ebf0c --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_map_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}" + RootNamespace="Fastest_interval_map_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_map_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\fastest_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_set_/fastest_interval_set.cpp b/src/boost/libs/icl/test/fastest_interval_set_/fastest_interval_set.cpp new file mode 100644 index 00000000..874ca863 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_/fastest_interval_set.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET interval_set +#include "../fastest_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj b/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj new file mode 100644 index 00000000..83e13d78 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}</ProjectGuid> + <RootNamespace>Fastest_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj.filters new file mode 100644 index 00000000..f3dbce38 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_/vc10_fastest_interval_set.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj b/src/boost/libs/icl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj new file mode 100644 index 00000000..822e3bc5 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}" + RootNamespace="Fastest_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_set_cases.hpp b/src/boost/libs/icl/test/fastest_interval_set_cases.hpp new file mode 100644 index 00000000..7adbdff3 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_cases.hpp @@ -0,0 +1,78 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702 +#define BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702 + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_fundamentals_4_ordered_types) +{ interval_set_fundamentals_4_ordered_types<INTERVAL_SET, ordered_type_1>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_ctor_4_bicremental_types) +{ interval_set_ctor_4_bicremental_types<INTERVAL_SET, bicremental_type_1>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_add_sub_4_bicremental_types) +{ interval_set_add_sub_4_bicremental_types<INTERVAL_SET, bicremental_type_2>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_distinct_4_bicremental_types) +{ interval_set_distinct_4_bicremental_types<INTERVAL_SET, bicremental_type_3>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_distinct_4_bicremental_continuous_types) +{ interval_set_distinct_4_bicremental_continuous_types<INTERVAL_SET, continuous_type_1>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_isolate_4_bicremental_continuous_types) +{ interval_set_isolate_4_bicremental_continuous_types<INTERVAL_SET, continuous_type_2>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_element_compare_4_bicremental_types) +{ interval_set_element_compare_4_bicremental_types<INTERVAL_SET, bicremental_type_4>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_contains_4_bicremental_types) +{ interval_set_contains_4_bicremental_types<INTERVAL_SET, bicremental_type_5>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_operators_4_bicremental_types) +{ interval_set_operators_4_bicremental_types<INTERVAL_SET, bicremental_type_6>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_base_intersect_4_bicremental_types) +{ interval_set_base_intersect_4_bicremental_types<INTERVAL_SET, bicremental_type_7>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_flip_4_bicremental_types) +{ interval_set_flip_4_bicremental_types<INTERVAL_SET, bicremental_type_8>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_find_4_bicremental_types) +{ interval_set_find_4_bicremental_types<INTERVAL_SET, bicremental_type_1>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_element_iter_4_discrete_types) +{ interval_set_element_iter_4_discrete_types<INTERVAL_SET, discrete_type_2>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_intersects_4_bicremental_types) +{ interval_set_intersects_4_bicremental_types<INTERVAL_SET, bicremental_type_3>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_range_4_discrete_types) +{ interval_set_range_4_discrete_types<INTERVAL_SET, discrete_type_3>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_move_4_discrete_types) +{ interval_set_move_4_discrete_types<INTERVAL_SET, discrete_type_2>();} + +#endif // BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702 + + + diff --git a/src/boost/libs/icl/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp b/src/boost/libs/icl/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp new file mode 100644 index 00000000..ede5b5f7 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET interval_set +#include "../fastest_interval_set_infix_cases.hpp" + + + diff --git a/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj new file mode 100644 index 00000000..f19e39d2 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D1623E906E}</ProjectGuid> + <RootNamespace>Fastest_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..495c4342 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc10_fastest_interval_set_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj new file mode 100644 index 00000000..6981f7a3 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D1623E906E}" + RootNamespace="Fastest_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_interval_set_infix_cases.hpp b/src/boost/libs/icl/test/fastest_interval_set_infix_cases.hpp new file mode 100644 index 00000000..d42b7152 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_infix_cases.hpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702 +#define BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702 + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_infix_plus_overload_4_bicremental_types) +{ interval_set_infix_plus_overload_4_bicremental_types<INTERVAL_SET, bicremental_type_1>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_infix_pipe_overload_4_bicremental_types) +{ interval_set_infix_pipe_overload_4_bicremental_types<INTERVAL_SET, bicremental_type_2>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_infix_minus_overload_4_bicremental_types) +{ interval_set_infix_minus_overload_4_bicremental_types<INTERVAL_SET, bicremental_type_3>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_infix_et_overload_4_bicremental_types) +{ interval_set_infix_et_overload_4_bicremental_types<INTERVAL_SET, bicremental_type_4>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_infix_caret_overload_4_bicremental_types) +{ interval_set_infix_caret_overload_4_bicremental_types<INTERVAL_SET, bicremental_type_5>();} + +#endif // BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702 + + + diff --git a/src/boost/libs/icl/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp b/src/boost/libs/icl/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp new file mode 100644 index 00000000..3e6712b8 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp @@ -0,0 +1,96 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_set_mixed.hpp" + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_ctor_4_ordered_types) +{ interval_set_mixed_ctor_4_ordered_types<int>(); } + + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_equal_4_ordered_types) +{ interval_set_mixed_equal_4_ordered_types<std::string>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_assign_4_ordered_types) +{ interval_set_mixed_assign_4_ordered_types<float>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_ctor_4_bicremental_types) +{ interval_set_mixed_ctor_4_bicremental_types<bicremental_type_1>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_assign_4_bicremental_types) +{ interval_set_mixed_assign_4_bicremental_types<bicremental_type_2>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_equal_4_bicremental_types) +{ interval_set_mixed_equal_4_bicremental_types<bicremental_type_3>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_contains_4_bicremental_types) +{ interval_set_mixed_contains_4_bicremental_types<bicremental_type_4>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_add_4_bicremental_types) +{ interval_set_mixed_add_4_bicremental_types<bicremental_type_5>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_subtract_4_bicremental_types) +{ interval_set_mixed_subtract_4_bicremental_types<bicremental_type_6>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_erase_4_bicremental_types) +{ interval_set_mixed_erase_4_bicremental_types<bicremental_type_7>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_basic_intersect_4_bicremental_types) +{ interval_set_mixed_basic_intersect_4_bicremental_types<bicremental_type_8>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_disjoint_4_bicremental_types) +{ interval_set_mixed_disjoint_4_bicremental_types<bicremental_type_1>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_infix_plus_overload_4_bicremental_types) +{ interval_set_mixed_infix_plus_overload_4_bicremental_types<bicremental_type_2>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_infix_pipe_overload_4_bicremental_types) +{ interval_set_mixed_infix_pipe_overload_4_bicremental_types<bicremental_type_3>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_infix_minus_overload_4_bicremental_types) +{ interval_set_mixed_infix_minus_overload_4_bicremental_types<bicremental_type_4>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_infix_et_overload_4_bicremental_types) +{ interval_set_mixed_infix_et_overload_4_bicremental_types<bicremental_type_5>(); } + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_mixed_infix_caret_overload_4_bicremental_types) +{ interval_set_mixed_infix_caret_overload_4_bicremental_types<bicremental_type_6>(); } diff --git a/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj new file mode 100644 index 00000000..0c54a8af --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}</ProjectGuid> + <RootNamespace>Fastest_interval_set_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj.filters b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj.filters new file mode 100644 index 00000000..50db0ac8 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc10_fastest_interval_set_mixed.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_interval_set_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj new file mode 100644 index 00000000..484e84f6 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_interval_set_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}" + RootNamespace="Fastest_interval_set_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_interval_set_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp new file mode 100644 index 00000000..8ead79f8 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::partial_icl_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_icl_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fastest_partial_icl_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj new file mode 100644 index 00000000..14f9fa36 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}</ProjectGuid> + <RootNamespace>Fastest_partial_icl_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_partial_icl_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj.filters b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj.filters new file mode 100644 index 00000000..83cc6be8 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc10_fastest_partial_icl_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_partial_icl_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc9_fastest_partial_icl_quantifier.vcproj b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc9_fastest_partial_icl_quantifier.vcproj new file mode 100644 index 00000000..58a21913 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_/vc9_fastest_partial_icl_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_partial_icl_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}" + RootNamespace="Fastest_partial_icl_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_partial_icl_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_partial_icl_quantifier_cases.hpp b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_cases.hpp new file mode 100644 index 00000000..862e6ce6 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_icl_quantifier_cases.hpp @@ -0,0 +1,77 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 +#define BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + +//------------------------------------------------------------------------------ +// partial_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_1, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_monoid_et_4_bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_2, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_3, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_4, int, partial_absorber, INTERVAL_MAP>();} + +// x - x = 0 | partial absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_5, int, partial_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// partial_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_6, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_monoid_et_4_bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_7, int, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_8, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_1, int, partial_enricher, INTERVAL_MAP>();} + +// x - x =d= 0 | partial enricher +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types) +{ icl_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types<bicremental_type_2, int, partial_enricher, INTERVAL_MAP>();} + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_icl_quantifier_check_containedness_4_bicremental_types) +{ icl_quantifier_check_containedness_4_bicremental_types<bicremental_type_1, mono, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_icl_quantifier_check_containedness_4_bicremental_types) +{ icl_quantifier_check_containedness_4_bicremental_types<bicremental_type_1, mono, partial_enricher, INTERVAL_MAP>();} + + +#endif // BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + diff --git a/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp new file mode 100644 index 00000000..51570bea --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::partial_interval_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fastest_partial_interval_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj new file mode 100644 index 00000000..5a1f66be --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}</ProjectGuid> + <RootNamespace>Fastest_partial_interval_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_partial_interval_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj.filters b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj.filters new file mode 100644 index 00000000..d15fa6ed --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc10_fastest_partial_interval_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_partial_interval_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj new file mode 100644 index 00000000..60e93460 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_partial_interval_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}" + RootNamespace="Fastest_partial_interval_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_partial_interval_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_partial_interval_quantifier_cases.hpp b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_cases.hpp new file mode 100644 index 00000000..df965eae --- /dev/null +++ b/src/boost/libs/icl/test/fastest_partial_interval_quantifier_cases.hpp @@ -0,0 +1,84 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 +#define BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + +//------------------------------------------------------------------------------ +// partial_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_itv_quantifier_check_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_1, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_itv_quantifier_check_monoid_et_4_bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_2, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_3, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_itv_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_4, int, partial_absorber, INTERVAL_MAP>();} + +// x - x = 0 | partial absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_5, int, partial_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// partial_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_6, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_monoid_et_4_bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_7, int, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_8, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_1, int, partial_enricher, INTERVAL_MAP>();} + +// x - x =d= 0 | partial enricher +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types) +{ itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types<bicremental_type_2, int, partial_enricher, INTERVAL_MAP>();} + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_inner_complementarity_4_bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<bicremental_type_4, int, partial_enricher, interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_enricher_itv_quantifier_check_length_complementarity_4_bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<bicremental_type_5, double, partial_enricher, split_interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_absorber_itv_quantifier_check_inner_complementarity_4_bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<bicremental_type_6, int, partial_absorber, split_interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_partial_absorber_itv_quantifier_check_length_complementarity_4_bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<bicremental_type_7, double, partial_absorber, interval_map>();} + +#endif // BOOST_ICL_FASTEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp b/src/boost/libs/icl/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp new file mode 100644 index 00000000..a53cafda --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::separate_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET separate_interval_set +#include "../fastest_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj new file mode 100644 index 00000000..cb4e9647 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}</ProjectGuid> + <RootNamespace>Fastest_separate_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_separate_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\separate_interval_set.hpp" /> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj.filters b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj.filters new file mode 100644 index 00000000..8811c2e6 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc10_fastest_separate_interval_set.vcxproj.filters @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_separate_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\separate_interval_set.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj new file mode 100644 index 00000000..b71d62bd --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_separate_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}" + RootNamespace="Fastest_separate_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_separate_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\..\..\boost\itl\separate_interval_set.hpp" + > + </File> + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp new file mode 100644 index 00000000..247b134e --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::separate_interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET separate_interval_set +#include "../fastest_interval_set_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj new file mode 100644 index 00000000..157a9671 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D2623E911E}</ProjectGuid> + <RootNamespace>Fastest_separate_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_separate_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..8d3a8e18 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc10_fastest_separate_interval_set_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_separate_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj new file mode 100644 index 00000000..4cd75b66 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_separate_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D2623E911E}" + RootNamespace="Fastest_separate_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_separate_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set.cpp b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set.cpp new file mode 100644 index 00000000..d40d3e7b --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set.cpp @@ -0,0 +1,39 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::set_itl_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <set> +#include <boost/icl/associative_element_container.hpp> +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_set_icl_set.hpp" + +#include "fastest_set_icl_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_cases.hpp b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_cases.hpp new file mode 100644 index 00000000..0001e4a4 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_cases.hpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_SET_ICL_SET_CASES_HPP_JOFA_090703 +#define BOOST_ICL_FASTEST_SET_ICL_SET_CASES_HPP_JOFA_090703 + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_itl_set_check_monoid_plus_4_bicremental_types) +{ itl_set_check_monoid_plus_4_bicremental_types<discrete_type_1, interval_set>();} + //MEMO: interval_set +// is used here pragmatically to be able to recycle test code for initializing +// sets. These interval_set are then converted to icl::set by atomize. + +BOOST_AUTO_TEST_CASE +(fastest_itl_itl_set_check_abelian_monoid_plus_4_bicremental_types) +{ itl_set_check_abelian_monoid_plus_4_bicremental_types<discrete_type_2, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_itl_set_check_abelian_monoid_et_4_bicremental_types) +{ itl_set_check_abelian_monoid_et_4_bicremental_types<discrete_type_3, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_itl_set_check_partial_invertive_monoid_plus_4_bicremental_types) +{ itl_set_check_partial_invertive_monoid_plus_4_bicremental_types<discrete_type_4, interval_set>();} + +#endif // BOOST_ICL_FASTEST_SET_ICL_SET_CASES_HPP_JOFA_090703 + + diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_shared.cpp b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_shared.cpp new file mode 100644 index 00000000..9432d4df --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/fastest_set_icl_set_shared.cpp @@ -0,0 +1,28 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_monoid_plus_4_bicremental_types<T, interval_set>();} + + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_plus_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_et_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_et_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, interval_set>();} + diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj b/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj new file mode 100644 index 00000000..aa382187 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-A8885151D13F}</ProjectGuid> + <RootNamespace>Fastest_set_icl_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_set_icl_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj.filters b/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj.filters new file mode 100644 index 00000000..4cd5d071 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/vc10_fastest_set_icl_set.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_set_icl_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_set_icl_set_/vc9_fastest_set_icl_set.vcproj b/src/boost/libs/icl/test/fastest_set_icl_set_/vc9_fastest_set_icl_set.vcproj new file mode 100644 index 00000000..9ee5b0ef --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_icl_set_/vc9_fastest_set_icl_set.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_set_icl_set" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-A8885151D13F}" + RootNamespace="Fastest_set_icl_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_set_icl_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set.cpp b/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set.cpp new file mode 100644 index 00000000..6f6676e3 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::set_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_set_interval_set_shared.hpp" + +#include "fastest_set_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp b/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp new file mode 100644 index 00000000..451cc06f --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp @@ -0,0 +1,117 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090703 +#define BOOST_ICL_FASTEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090703 + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_monoid_plus_4_bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<bicremental_type_1, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_abelian_monoid_plus_4_bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_2, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_abelian_monoid_et_4_bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<bicremental_type_3, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_4, interval_set>();} + + +//------------------------------------------------------------------------------ +// separate_interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_monoid_plus_4_bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<bicremental_type_5, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_abelian_monoid_plus_4_bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_6, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_abelian_monoid_et_4_bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<bicremental_type_7, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_8, separate_interval_set>();} + + +//------------------------------------------------------------------------------ +// split_interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_monoid_plus_4_bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<bicremental_type_1, split_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_abelian_monoid_plus_4_bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_2, split_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_abelian_monoid_et_4_bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<bicremental_type_3, split_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_4, split_interval_set>();} + + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_containedness_4_bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<bicremental_type_4, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_containedness_4_bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<bicremental_type_5, split_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_containedness_4_bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<bicremental_type_6, separate_interval_set>();} + +//------------------------------------------------------------------------------ +// Inner Complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_inner_complementarity_4_bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_7, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_inner_complementarity_4_bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_8, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_inner_complementarity_4_bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_1, split_interval_set>();} + +//------------------------------------------------------------------------------ +// Inner Complement and Distance +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_set_check_length_complementarity_4_bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_2, interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_separate_interval_set_check_length_complementarity_4_bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_3, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_split_interval_set_check_length_complementarity_4_bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_4, split_interval_set>();} + +#endif // BOOST_ICL_FASTEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090703 + diff --git a/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj b/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj new file mode 100644 index 00000000..53fb7456 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}</ProjectGuid> + <RootNamespace>Fastest_set_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_set_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj.filters b/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj.filters new file mode 100644 index 00000000..083cf5fe --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_interval_set_/vc10_fastest_set_interval_set.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_set_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj b/src/boost/libs/icl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj new file mode 100644 index 00000000..cdd8a9ca --- /dev/null +++ b/src/boost/libs/icl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_set_interval_set" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}" + RootNamespace="Fastest_set_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_set_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map.cpp b/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map.cpp new file mode 100644 index 00000000..35c335fd --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_functions.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP split_interval_map +#include "../fastest_interval_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map_shared.cpp b/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map_shared.cpp new file mode 100644 index 00000000..c98bdc8b --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_/fastest_split_interval_map_shared.cpp @@ -0,0 +1,72 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_fundamentals_4_ordered_types, T, ordered_types) +{ interval_map_fundamentals_4_ordered_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_ctor_4_bicremental_types, T, bicremental_types) +{ interval_map_ctor_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_map_add_sub_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_types, T, bicremental_types) +{ interval_map_distinct_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_distinct_4_bicremental_continuous_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_isolate_4_bicremental_continuous_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_contains_4_bicremental_types, T, bicremental_types) +{ interval_map_contains_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_operators_4_bicremental_types, T, bicremental_types) +{ interval_map_operators_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_map_base_intersect_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_erase_4_bicremental_types, T, bicremental_types) +{ interval_map_base_erase_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_is_disjoint_4_bicremental_types, T, bicremental_types) +{ interval_map_base_is_disjoint_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_plus_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_pipe_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_pipe_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_et_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_et_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_caret_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_caret_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_find_4_bicremental_types, T, bicremental_types) +{ interval_map_find_4_bicremental_types<split_interval_map, T, int>();} + diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj b/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj new file mode 100644 index 00000000..b4256cf5 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}</ProjectGuid> + <RootNamespace>Fastest_split_interval_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <ItemGroup> + <None Include="..\vc10_icl_fast_tests.sln" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj.filters b/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj.filters new file mode 100644 index 00000000..1b97e5bb --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_/vc10_fastest_split_interval_map.vcxproj.filters @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <None Include="..\vc10_icl_fast_tests.sln" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj b/src/boost/libs/icl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj new file mode 100644 index 00000000..e22f2310 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_split_interval_map" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}" + RootNamespace="Fastest_split_interval_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_split_interval_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + <File + RelativePath="..\vc9_icl_fast_tests.sln" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp new file mode 100644 index 00000000..8f4bd5b9 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_map_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_map_shared are tests that should give identical results for all +// interval_maps: interval_map and split_interval_map. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP split_interval_map +#include "../fastest_interval_map_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj new file mode 100644 index 00000000..6d5cc5df --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}</ProjectGuid> + <RootNamespace>Fastest_split_interval_map_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_map_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj.filters b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj.filters new file mode 100644 index 00000000..c593eda2 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc10_fastest_split_interval_map_infix.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_map_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj new file mode 100644 index 00000000..101f3308 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_split_interval_map_infix" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D4A914D}" + RootNamespace="Fastest_split_interval_map_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_split_interval_map_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set.cpp b/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set.cpp new file mode 100644 index 00000000..1d034dee --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET split_interval_set +#include "../fastest_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set_shared.cpp b/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set_shared.cpp new file mode 100644 index 00000000..56c87d38 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_/fastest_split_interval_set_shared.cpp @@ -0,0 +1,56 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_fundamentals_4_ordered_types, T, ordered_types) +{ interval_set_fundamentals_4_ordered_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_ctor_4_bicremental_types, T, bicremental_types) +{ interval_set_ctor_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_set_add_sub_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_types, T, bicremental_types) +{ interval_set_distinct_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_distinct_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_isolate_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_element_compare_4_bicremental_types, T, bicremental_types) +{ interval_set_element_compare_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_contains_4_bicremental_types, T, bicremental_types) +{ interval_set_contains_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_operators_4_bicremental_types, T, bicremental_types) +{ interval_set_operators_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_set_base_intersect_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_plus_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_find_4_bicremental_types, T, bicremental_types) +{ interval_set_find_4_bicremental_types<INTERVAL_SET, T>();} + + diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj b/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj new file mode 100644 index 00000000..5e970f62 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}</ProjectGuid> + <RootNamespace>Fastest_split_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\split_interval_set.hpp" /> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj.filters b/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj.filters new file mode 100644 index 00000000..0f8bbff0 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_/vc10_fastest_split_interval_set.vcxproj.filters @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\split_interval_set.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj b/src/boost/libs/icl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj new file mode 100644 index 00000000..3fded149 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_split_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}" + RootNamespace="Fastest_split_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_split_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\..\..\boost\itl\split_interval_set.hpp" + > + </File> + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp new file mode 100644 index 00000000..179066bb --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET split_interval_set +#include "../fastest_interval_set_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj new file mode 100644 index 00000000..ae891338 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D3623E916E}</ProjectGuid> + <RootNamespace>Fastest_split_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_split_interval_set_infix_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..09752b78 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc10_fastest_split_interval_set_infix.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_split_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_split_interval_set_infix_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj new file mode 100644 index 00000000..f853c2fd --- /dev/null +++ b/src/boost/libs/icl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_split_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D3623E916E}" + RootNamespace="Fastest_split_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_split_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_split_interval_set_infix_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp new file mode 100644 index 00000000..48ba0fdd --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::total_icl_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_icl_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fastest_total_icl_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj new file mode 100644 index 00000000..7946b836 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}</ProjectGuid> + <RootNamespace>Fastest_total_icl_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_total_icl_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj.filters b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj.filters new file mode 100644 index 00000000..898851dc --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc10_fastest_total_icl_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_total_icl_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc9_fastest_total_icl_quantifier.vcproj b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc9_fastest_total_icl_quantifier.vcproj new file mode 100644 index 00000000..51fc4181 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_icl_quantifier_/vc9_fastest_total_icl_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_total_icl_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}" + RootNamespace="Fastest_total_icl_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_total_icl_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_total_icl_quantifier_cases.hpp b/src/boost/libs/icl/test/fastest_total_icl_quantifier_cases.hpp new file mode 100644 index 00000000..46e173a0 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_icl_quantifier_cases.hpp @@ -0,0 +1,84 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 +#define BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 + +//------------------------------------------------------------------------------ +// total_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_1, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_monoid_et_4_bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_2, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_3, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_4, float, total_absorber, INTERVAL_MAP>();} + +// (0-x) + x = 0 | total absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_abelian_group_plus_4_bicremental_domain_and_discrete_codomain) +{ icl_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_1) +{ icl_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, double, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_icl_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_2) +{ icl_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, boost::rational<int>, total_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// total_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_6, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_monoid_et_4_bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_7, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_8, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_1, double, total_enricher, INTERVAL_MAP>();} + +// (0-x) + x =d= 0 | total absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_discrete_codomain) +{ icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_2, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_continuous_codomain_1) +{ icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_3, float, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_continuous_codomain_2) +{ icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_4, boost::rational<int>, total_enricher, INTERVAL_MAP>();} + + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + + + + +#endif // BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 + diff --git a/src/boost/libs/icl/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp new file mode 100644 index 00000000..749d5bf7 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::total_interval_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../fastest_total_interval_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj new file mode 100644 index 00000000..920ff4c8 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}</ProjectGuid> + <RootNamespace>Fastest_total_interval_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fastest_total_interval_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj.filters b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj.filters new file mode 100644 index 00000000..c11efb2d --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc10_fastest_total_interval_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fastest_total_interval_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj new file mode 100644 index 00000000..ecb0431c --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fastest_total_interval_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}" + RootNamespace="Fastest_total_interval_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fastest_total_interval_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fastest_total_interval_quantifier_cases.hpp b/src/boost/libs/icl/test/fastest_total_interval_quantifier_cases.hpp new file mode 100644 index 00000000..7fe36fd9 --- /dev/null +++ b/src/boost/libs/icl/test/fastest_total_interval_quantifier_cases.hpp @@ -0,0 +1,100 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 +#define BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 + +//------------------------------------------------------------------------------ +// total_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_1, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_monoid_et_4_bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_2, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_3, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_4, float, total_absorber, INTERVAL_MAP>();} + +// (0-x) + x = 0 | total absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_discrete_codomain) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_1) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, double, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_2) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<bicremental_type_5, boost::rational<int>, total_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// total_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<bicremental_type_6, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_monoid_et_4_bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<bicremental_type_7, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_8, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_abelian_monoid_et_4_bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<bicremental_type_1, double, total_enricher, INTERVAL_MAP>();} + +// (0-x) + x =d= 0 | total absorber +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_discrete_codomain) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_2, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_continuous_codomain_1) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_3, float, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_continuous_codomain_2) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<bicremental_type_4, boost::rational<int>, total_enricher, INTERVAL_MAP>();} + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_inner_complementarity_4_bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<bicremental_type_4, int, total_enricher, interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_enricher_itv_quantifier_check_length_complementarity_4_bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<bicremental_type_5, double, total_enricher, split_interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_absorber_itv_quantifier_check_inner_complementarity_4_bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<bicremental_type_6, int, total_absorber, split_interval_map>();} + +BOOST_AUTO_TEST_CASE +(fastest_itl_total_absorber_itv_quantifier_check_length_complementarity_4_bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<bicremental_type_7, double, total_absorber, interval_map>();} + +#endif // BOOST_ICL_FASTEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090703 + diff --git a/src/boost/libs/icl/test/fix_icl_after_thread_/fix_icl_after_thread.cpp b/src/boost/libs/icl/test/fix_icl_after_thread_/fix_icl_after_thread.cpp new file mode 100644 index 00000000..ea4cfa76 --- /dev/null +++ b/src/boost/libs/icl/test/fix_icl_after_thread_/fix_icl_after_thread.cpp @@ -0,0 +1,31 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::fix_icl_after_thread unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include "../unit_test_unwarned.hpp" + +// #include <boost/thread.hpp> MEMO: The problem occured when using thread.hpp +#include <boost/bind.hpp> // but is also triggered from bind.hpp alone + // while the cause of it is an error in the msvc-7.1 to 10.0 compilers. + // A minimal example is provided by test case 'cmp_msvc_value_born_error' +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +BOOST_AUTO_TEST_CASE(dummy) +{ + BOOST_CHECK(true); +} + diff --git a/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj b/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj new file mode 100644 index 00000000..3085287d --- /dev/null +++ b/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}</ProjectGuid> + <RootNamespace>fix_icl_after_thread</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fix_icl_after_thread.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj.filters b/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj.filters new file mode 100644 index 00000000..7e7a1547 --- /dev/null +++ b/src/boost/libs/icl/test/fix_icl_after_thread_/vc10_fix_icl_after_thread.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fix_icl_after_thread.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fix_icl_after_thread_/vc9_fix_icl_after_thread.vcproj b/src/boost/libs/icl/test/fix_icl_after_thread_/vc9_fix_icl_after_thread.vcproj new file mode 100644 index 00000000..8169ce62 --- /dev/null +++ b/src/boost/libs/icl/test/fix_icl_after_thread_/vc9_fix_icl_after_thread.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fix_icl_after_thread" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}" + RootNamespace="fix_icl_after_thread" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fix_icl_after_thread.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fix_include_after_thread_/fix_include_after_thread.cpp b/src/boost/libs/icl/test/fix_include_after_thread_/fix_include_after_thread.cpp new file mode 100644 index 00000000..9da224db --- /dev/null +++ b/src/boost/libs/icl/test/fix_include_after_thread_/fix_include_after_thread.cpp @@ -0,0 +1,48 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +//JODO REMOVE THIS TESTCASE + +#define BOOST_TEST_MODULE icl::fix_include_after_thread unit test +#include <boost/config.hpp> +#include <boost/test/unit_test.hpp> + +//Problem: If <boost/thread.hpp> is included before this +//example code, it influences compilation: Code that has +//compiled well, produces a syntax error error C2059 under +//msvc-9/10. This can be fixed by enclosing subexpressions +//like some_attribute<Type>::value in parentheses +// ->(some_attribute<Type>::value) +//The problem does not occur for gcc compilers. + +// #include <boost/thread.hpp> MEMO: The problem occured when using thread.hpp +#include <boost/bind.hpp> // but is also triggered from bind.hpp alone + // while the cause of it is an error in the msvc-7.1 to 10.0 compilers. + // A minimal example is provided by test case 'cmp_msvc_value_born_error' + +//--- included code --------------------------------------- +template <class Type> struct some_attribute +{ + BOOST_STATIC_CONSTANT(int, value = 0); +}; + +template <class Type> struct some_predicate +{ + BOOST_STATIC_CONSTANT(bool, + value = ((some_attribute<Type>::value) < 0) + // value = ( some_attribute<Type>::value < 0) + //error C2059: syntax error : ')' ONLY + //IF <boost/thread.hpp> is included before + ); +}; +//--- end of included code -------------------------------- + +BOOST_AUTO_TEST_CASE(dummy) +{ + BOOST_CHECK(true); +} + diff --git a/src/boost/libs/icl/test/fix_include_after_thread_/vc9_fix_include_after_thread.vcproj b/src/boost/libs/icl/test/fix_include_after_thread_/vc9_fix_include_after_thread.vcproj new file mode 100644 index 00000000..ce2510ca --- /dev/null +++ b/src/boost/libs/icl/test/fix_include_after_thread_/vc9_fix_include_after_thread.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fix_include_after_thread" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}" + RootNamespace="fix_include_after_thread" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fix_include_after_thread.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/fix_tickets_/fix_tickets.cpp b/src/boost/libs/icl/test/fix_tickets_/fix_tickets.cpp new file mode 100644 index 00000000..0232c319 --- /dev/null +++ b/src/boost/libs/icl/test/fix_tickets_/fix_tickets.cpp @@ -0,0 +1,236 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2011-2011: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::fix_icl_after_thread unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include "../unit_test_unwarned.hpp" + +//#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +#include <iostream> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +BOOST_AUTO_TEST_CASE(ticket_5482) +{ + typedef interval_map<int,int,partial_absorber,std::less> m1_t; + typedef interval_map<int,int,partial_absorber,std::greater> m2_t; + m1_t m1; + m2_t m2; + m1.insert(make_pair(m1_t::interval_type(1), 20)); + m1.insert(make_pair(m1_t::interval_type(2), 20)); + m1.insert(make_pair(m1_t::interval_type(3), 20)); + + m2.insert(make_pair(m2_t::interval_type(1), 20)); + m2.insert(make_pair(m2_t::interval_type(2), 20)); + m2.insert(make_pair(m2_t::interval_type(3), 20)); + + BOOST_CHECK_EQUAL(m1.iterative_size(), m2.iterative_size()); + BOOST_CHECK_EQUAL(m1.iterative_size(), 1); + BOOST_CHECK_EQUAL(m2.iterative_size(), 1); +} + + +#include <boost/cstdint.hpp> +BOOST_AUTO_TEST_CASE(ticket_5559_Denis) +{ + //Submitted by Denis + typedef boost::icl::interval_set<boost::uint32_t, std::greater> Set; + const uint32_t ui32_max = (std::numeric_limits<uint32_t>::max)(); + + Set q1( Set::interval_type::closed(ui32_max, 0) ); + Set q5( Set::interval_type::closed(0, 0) ); + + BOOST_CHECK_EQUAL(q1, q1+q5); +} + +//------------------------------------------------------------------------------ +// Ticket #6095 Marvin Sielenkemper +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE(ticket_6095_Marvin_Sielenkemper_isEmptyTest) +{ + typedef int Value; + typedef boost::icl::interval<Value> Interval; + typedef std::numeric_limits<Value> Limits; + + Value const max((Limits::max)()); + + //Interval::interval_type piff = Interval::open(max, max); + + BOOST_CHECK(!icl::is_empty(Interval::open(max - 2, max))); + BOOST_CHECK( icl::is_empty(Interval::open(max - 1, max))); + BOOST_CHECK( icl::is_empty(Interval::open(max, max))); +} + +BOOST_AUTO_TEST_CASE(ticket_6095_Marvin_Sielenkemper_totalRangeTest) +{ + typedef int Value; + typedef boost::icl::interval<Value> Interval; + typedef std::numeric_limits<Value> Limits; + + Value const min((Limits::min)()); + Value const max((Limits::max)()); + + boost::icl::interval_map<Value, int, boost::icl::total_enricher> intervals; + + intervals += std::make_pair(Interval::closed(min, max), 0); + intervals += std::make_pair(Interval::right_open(0, 10), 3); + + BOOST_CHECK_EQUAL(intervals.iterative_size(), 3); +} + +BOOST_AUTO_TEST_CASE(test_ticket_7871) +{ + boost::icl::split_interval_map <int, int> a, b; + a = b; + BOOST_CHECK_EQUAL(a, b); +} + +//------------------------------------------------------------------------------ +// Ticket #11308 Stephen Hewitt +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE(ticket_11308_Stephen_Hewitt_extreme_valued_closed_intervals) +{ + typedef boost::icl::closed_interval<boost::uint16_t, std::less> interval_t; + typedef boost::icl::split_interval_set<boost::uint16_t, std::less, interval_t> set_t; + + set_t s1, s2; + + s1 += interval_t(0x0000, 0x9fff); + s1 += interval_t(0xa000, 0xbfff); + s1 += interval_t(0xc000, 0xffff); + + s2 += interval_t(0x0000, 0xffff); + s2 += interval_t(0xa000, 0xbfff); + + BOOST_CHECK_EQUAL(s1, s2); +} + +BOOST_AUTO_TEST_CASE(extreme_valued_right_open_intervals) +{ + typedef boost::icl::right_open_interval<boost::uint16_t, std::less> interval_t; + typedef boost::icl::split_interval_set<boost::uint16_t, std::less, interval_t> set_t; + + set_t s1, s2; + + s1 += interval_t(0x0000, 0xa000); + s1 += interval_t(0xa000, 0xc000); + s1 += interval_t(0xc000, 0xffff); //Contains 0xfffe as largest element + + s2 += interval_t(0x0000, 0xffff); + s2 += interval_t(0xa000, 0xc000); + + BOOST_CHECK_EQUAL(s1, s2); +} + +BOOST_AUTO_TEST_CASE(extreme_valued_left_open_intervals) +{ + typedef boost::icl::left_open_interval<boost::uint16_t, std::less> interval_t; + typedef boost::icl::split_interval_set<boost::uint16_t, std::less, interval_t> set_t; + + set_t s1, s2; + + s1 += interval_t(0x0000, 0x9fff); //Contains 1 as smallest element + s1 += interval_t(0x9fff, 0xbfff); + s1 += interval_t(0xbfff, 0xffff); + + s2 += interval_t(0x0000, 0xffff); + s2 += interval_t(0x9fff, 0xbfff); + + BOOST_CHECK_EQUAL(s1, s2); +} + +BOOST_AUTO_TEST_CASE(extreme_valued_open_intervals) +{ + typedef boost::icl::open_interval<boost::uint16_t, std::less> interval_t; + typedef boost::icl::split_interval_set<boost::uint16_t, std::less, interval_t> set_t; + + set_t s1, s2; + + s1 += interval_t(0x0000, 0xa000); //Contains 1 as smallest element + s1 += interval_t(0x9fff, 0xc000); + s1 += interval_t(0xbfff, 0xffff); //Contains 0xfffe as largest element + + s2 += interval_t(0x0000, 0xffff); + s2 += interval_t(0x9fff, 0xc000); + + BOOST_CHECK_EQUAL(s1, s2); +} + +BOOST_AUTO_TEST_CASE(test_span_and_hull) +{ + typedef closed_interval<int> cl_I_int; + cl_I_int span_1_2 = span< cl_I_int >(1,2); + cl_I_int span_2_1 = span< cl_I_int >(2,1); + BOOST_CHECK_EQUAL(span_1_2, span_2_1); + BOOST_CHECK_EQUAL(hull< cl_I_int >(1,2), hull< cl_I_int >(2,1)); + + BOOST_CHECK_EQUAL( span< right_open_interval<int> >(2,1) + , construct< right_open_interval<int> >(1,2) ); + + BOOST_CHECK_EQUAL( hull< right_open_interval<int> >(2,1) + , construct< right_open_interval<int> >(1,3) ); +} + +BOOST_AUTO_TEST_CASE(test_ticket_11942) +{ + boost::icl::split_interval_set<int> intervals; + intervals.insert(boost::icl::discrete_interval<int>(1, 2)); + intervals.insert(boost::icl::discrete_interval<int>(2, 3)); + intervals.insert(boost::icl::discrete_interval<int>(0, 3)); + + BOOST_CHECK_EQUAL(intervals.size(), 3); +} + +BOOST_AUTO_TEST_CASE(test_ticket_12872) +{ + boost::icl::split_interval_set<unsigned> ss + = boost::icl::split_interval_set<unsigned>(); + std::vector<std::pair<unsigned, unsigned> > rs; + rs.push_back(make_pair(88, 96)); + rs.push_back(make_pair(72, 96)); + rs.push_back(make_pair(80, 96)); + rs.push_back(make_pair(24, 64)); + rs.push_back(make_pair(80, 96)); + rs.push_back(make_pair(32, 72)); + rs.push_back(make_pair(88, 96)); + rs.push_back(make_pair(16, 56)); + // {{88, 96}, {72, 96}, {80, 96}, {24, 64}, {80, 96}, {32, 72}, + // {88, 96}, {16, 56}}; + + for(int i=0; i < rs.size(); i++) { + ss.add( boost::icl::interval<unsigned>::right_open(rs[i].first, rs[i].second) ); + } + + boost::icl::split_interval_map<unsigned, unsigned> im + = boost::icl::split_interval_map<unsigned, unsigned>(); + for(int i=0; i < rs.size(); i++) { + im.add( make_pair( boost::icl::interval<unsigned>::right_open(rs[i].first, rs[i].second), 1 ) ); + } + + BOOST_CHECK_EQUAL(interval_count(ss), interval_count(im)); + BOOST_CHECK_EQUAL(icl::size(ss), icl::size(im)); + BOOST_CHECK_EQUAL(hull(ss), hull(im)); +} + +BOOST_AUTO_TEST_CASE(test_ticket_12926) +{ + boost::icl::interval_set<int> a; + a.insert(boost::icl::interval<int>::right_open(-100, 100)); + a.insert(-50); + + BOOST_CHECK_EQUAL(a.size(), 200); +} + diff --git a/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj b/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj new file mode 100644 index 00000000..e4d8ef4d --- /dev/null +++ b/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}</ProjectGuid> + <RootNamespace>fix_tickets</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="fix_tickets.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj.filters b/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj.filters new file mode 100644 index 00000000..119e40e3 --- /dev/null +++ b/src/boost/libs/icl/test/fix_tickets_/vc10_fix_tickets.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fix_tickets.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/fix_tickets_/vc9_fix_tickets.vcproj b/src/boost/libs/icl/test/fix_tickets_/vc9_fix_tickets.vcproj new file mode 100644 index 00000000..dc9e78b9 --- /dev/null +++ b/src/boost/libs/icl/test/fix_tickets_/vc9_fix_tickets.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_fix_tickets" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}" + RootNamespace="fix_tickets" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\fix_tickets.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/portability.hpp b/src/boost/libs/icl/test/portability.hpp new file mode 100644 index 00000000..0efdd186 --- /dev/null +++ b/src/boost/libs/icl/test/portability.hpp @@ -0,0 +1,71 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2010-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_PORTABILITY_HPP_JOFA_101111 +#define BOOST_ICL_TEST_PORTABILITY_HPP_JOFA_101111 + +#include <boost/icl/detail/design_config.hpp> + +// This file contains auxiliary macros to help with portability problems +// It is not designed to for general use but only in the context of test +// code for the ICL. There will be a number of specific assumptions about +// e.g. template parameter names that are only valid for icl tests. + +//PORT: msvc-7.1: For local template template parameters, msvc-7.1 does not +// accept a subsequent instantiation of that parameter using default arguments e.g.: +// test_functions.hpp(37) : error C2976: 'IntervalMap' : too few template arguments + +//ASSUMPTION: Fixed name IntervalMap +#define ICL_PORT_msvc_7_1_IntervalMap(tp_T, tp_U, tp_Trt) \ +IntervalMap<tp_T, tp_U, tp_Trt \ + ,ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T) \ + ,ICL_COMBINE_INSTANCE(icl::inplace_plus, tp_U) \ + ,ICL_SECTION_INSTANCE(icl::inter_section, tp_U) \ + ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T)) \ + ,std::allocator> + +//ASSUMPTION: Fixed name IntervalSet +#define ICL_PORT_msvc_7_1_IntervalSet(tp_T) \ +IntervalSet<tp_T \ + ,ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T) \ + ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T)) \ + ,std::allocator> + + +//------------------------------------------------------------------------------ +// Signature Macros: Help reducing redundancies in template headers +//------------------------------------------------------------------------------ +#define ICL_IntervalMap_TEMPLATE(tp_T, tp_U, tp_Traits, tp_Trt) \ +template<class tp_T, class tp_U, \ + class tp_Traits = tp_Trt, \ + ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \ + ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, tp_U), \ + ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, tp_U), \ + ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \ + ICL_ALLOC Alloc = std::allocator>class + + +#ifndef ICL_INTERVAL_BITSET_IMPL + +# define ICL_IntervalSet_TEMPLATE(tp_T) \ + template<class tp_T, \ + ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \ + ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \ + ICL_ALLOC Alloc = std::allocator>class + +#else + +# define ICL_IntervalSet_TEMPLATE(tp_T) \ + template<class tp_T, \ + class BitSetT = icl::bits<unsigned long>, \ + ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \ + ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \ + ICL_ALLOC Alloc = std::allocator>class + +#endif //ICL_INTERVAL_BITSET_IMPL + +#endif // BOOST_ICL_TEST_PORTABILITY_HPP_JOFA_101111 diff --git a/src/boost/libs/icl/test/test_casual_/test_casual.cpp b/src/boost/libs/icl/test/test_casual_/test_casual.cpp new file mode 100644 index 00000000..584954b6 --- /dev/null +++ b/src/boost/libs/icl/test/test_casual_/test_casual.cpp @@ -0,0 +1,95 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::casual unit test + +#define BOOST_ICL_TEST_CHRONO + +#include <libs/icl/test/disable_test_warnings.hpp> + +#include <string> +#include <vector> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/rational.hpp> + +#include <boost/type_traits/is_same.hpp> + +#include <boost/icl/gregorian.hpp> +#include <boost/icl/ptime.hpp> + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/interval_set.hpp> +#include <boost/icl/interval.hpp> + + + +namespace my +{ + +class Spy +{ +public: + Spy():_val(0){ + std::cout << "Spy() "; + } + Spy(int val):_val(val){} + int val()const { return _val; } + + Spy& operator += (const Spy& rhs){ + std::cout << "+= "; + return *this; + } + Spy& operator -= (const Spy& rhs){ if(_val == rhs.val()) _val=0; return *this; } + Spy& operator &= (const Spy& rhs){ if(_val != rhs.val()) _val=0; return *this; } + +private: + int _val; +}; + +bool operator == (const Spy& lhs, const Spy& rhs){ return lhs.val() == rhs.val(); } +bool operator < (const Spy& lhs, const Spy& rhs){ return lhs.val() < rhs.val(); } + +template<class CharType, class CharTraits> +std::basic_ostream<CharType, CharTraits> &operator<< + (std::basic_ostream<CharType, CharTraits> &stream, Spy const& value) +{ + return stream << value.val(); +} + +} // namespace my + + + + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +BOOST_AUTO_TEST_CASE(casual) +{ + using namespace my; + + + typedef interval_map<int, Spy> SpyMapT; + SpyMapT imap; + + //imap += make_pair(interval<int>::right_open( 0, 8), Spy(1)); + + imap.add(imap.begin(), make_pair(interval<int>::right_open( 0, 8), Spy(1))); + + BOOST_CHECK_EQUAL(true, true); +} + + diff --git a/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj b/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj new file mode 100644 index 00000000..6e11b455 --- /dev/null +++ b/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectName>vc10_test_casual</ProjectName> + <ProjectGuid>{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}</ProjectGuid> + <RootNamespace>Test_casual</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../; ../../../../boost_1_35_0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../; %(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_casual.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj.filters b/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj.filters new file mode 100644 index 00000000..ed5685be --- /dev/null +++ b/src/boost/libs/icl/test/test_casual_/vc10_test_casual.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_casual.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_casual_/vc9_test_casual.vcproj b/src/boost/libs/icl/test/test_casual_/vc9_test_casual.vcproj new file mode 100644 index 00000000..de9d06f0 --- /dev/null +++ b/src/boost/libs/icl/test/test_casual_/vc9_test_casual.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_casual" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}" + RootNamespace="Test_casual" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_casual.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp b/src/boost/libs/icl/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp new file mode 100644 index 00000000..9501436d --- /dev/null +++ b/src/boost/libs/icl/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp @@ -0,0 +1,103 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::test_doc_code unit test +#include <libs/icl/test/disable_test_warnings.hpp> + +#include <limits> +#include <complex> + + +#include <string> +#include <vector> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/type_traits/is_same.hpp> + + +#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +#define BOOST_ICL_DISCRETE_STATIC_INTERVAL_DEFAULT right_open_interval +#define BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS 2 //0=() 1=(] 2=[) 3=[] + +#include <boost/icl/rational.hpp> + +#include <boost/icl/detail/interval_morphism.hpp> +#include <boost/icl/interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +BOOST_AUTO_TEST_CASE(test_intervals_4_changed_lib_defaults) +{ + +#if defined(BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS) && !defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_DEFAULT) + BOOST_CHECK( (boost::is_same<icl::interval<int >::type, right_open_interval<int > >::value) ); + BOOST_CHECK( (boost::is_same<icl::interval<double>::type, right_open_interval<double> >::value) ); + + BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<right_open_interval<int> >(1,2) ); + + BOOST_CHECK_EQUAL( icl::interval<float>::right_open(1.0,2.0), icl::construct<right_open_interval<float> >(1.0,2.0) ); + //The next yields compiletime error: STATIC_ASSERTION_FAILURE + //BOOST_CHECK_EQUAL( icl::interval<float>::left_open(1.0,2.0), icl::construct<right_open_interval<float> >(1.0,2.0) ); +#endif + +#if defined(BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS) && defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_DEFAULT) +# if defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS) && (BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS == 0) + cout << "discrete_interval == open_interval\n"; + BOOST_CHECK( (boost::is_same<icl::interval<int>::type, open_interval<int> >::value) ); + BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<open_interval<int> >(0,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<open_interval<int> >(0,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<open_interval<int> >(0,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<open_interval<int> >(0,2) ); + +# elif defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS) && (BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS == 1) + cout << "discrete_interval == left_open_interval\n"; + BOOST_CHECK( (boost::is_same<icl::interval<int>::type, left_open_interval<int> >::value) ); + BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<left_open_interval<int> >(0,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<left_open_interval<int> >(0,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<left_open_interval<int> >(0,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<left_open_interval<int> >(0,1) ); + +# elif defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS) && (BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS == 2) + cout << "discrete_interval == right_open_interval\n"; + BOOST_CHECK( (boost::is_same<icl::interval<int>::type, right_open_interval<int> >::value) ); + BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<right_open_interval<int> >(1,2) ); + BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<right_open_interval<int> >(1,2) ); + +# elif defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS) && (BOOST_ICL_DISCRETE_STATIC_INTERVAL_BORDERS == 3) + cout << "discrete_interval == closed_interval\n"; + BOOST_CHECK( (boost::is_same<icl::interval<int>::type, closed_interval<int> >::value) ); + BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<closed_interval<int> >(1,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<closed_interval<int> >(1,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<closed_interval<int> >(1,1) ); + BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<closed_interval<int> >(1,1) ); + +# else + cout << "#else part, INTERVAL_BORDERS not in {0,1,2,3}\n"; +#endif //defined(BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS) && defined(BOOST_ICL_DISCRETE_STATIC_INTERVAL_DEFAULT) + +#else + BOOST_CHECK( (boost::is_same<icl::interval<int >::type, discrete_interval<int > >::value) ); + BOOST_CHECK( (boost::is_same<icl::interval<double>::type, continuous_interval<double> >::value) ); +#endif + +} diff --git a/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj new file mode 100644 index 00000000..e1a3dabe --- /dev/null +++ b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectName>vc10_test_changing_interval_defaults</ProjectName> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}</ProjectGuid> + <RootNamespace>Test_changing_interval_defaults</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_changing_interval_defaults.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj.filters b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj.filters new file mode 100644 index 00000000..2c548ec0 --- /dev/null +++ b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc10_test_changing_interval_defalts.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_changing_interval_defaults.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_changing_interval_defaults_/vc9_test_changing_interval_defalts.vcproj b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc9_test_changing_interval_defalts.vcproj new file mode 100644 index 00000000..f7bfb52d --- /dev/null +++ b/src/boost/libs/icl/test/test_changing_interval_defaults_/vc9_test_changing_interval_defalts.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_changing_interval_defaults" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}" + RootNamespace="Test_changing_interval_defaults" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_changing_interval_defaults.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_combinable_/test_combinable.cpp b/src/boost/libs/icl/test/test_combinable_/test_combinable.cpp new file mode 100644 index 00000000..78607956 --- /dev/null +++ b/src/boost/libs/icl/test/test_combinable_/test_combinable.cpp @@ -0,0 +1,516 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::casual unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +template<template<class, class>class IsCombinable, + class LeftT, class RightT> +void check_combinable(bool expected, const char* type_combi, const char* combi_text) +{ + std::string type_combination = type_combi; + std::string is_combi_text = combi_text; + bool is_combinable = IsCombinable<LeftT,RightT>::value; + std::string combination_result = is_combinable + ? (is_combinable == expected ? type_combination : "expected: NOT "+is_combi_text+"<"+type_combination+">") + : (is_combinable == expected ? type_combination : "expected: IS "+is_combi_text+"<"+type_combination+">"); + + //BOOST_CHECK_EQUAL(expected, is_combinable); + BOOST_CHECK_EQUAL(type_combination, combination_result); +} + +template<template<class, class>class IsCombinable> +void check_combine_pattern(const char* text, + bool jS_e, bool jS_i, bool jS_b, bool jS_p, bool jS_jS, bool jS_zS, bool jS_sS, bool jS_jM, bool jS_sM, + bool zS_e, bool zS_i, bool zS_b, bool zS_p, bool zS_jS, bool zS_zS, bool zS_sS, bool zS_jM, bool zS_sM, + bool sS_e, bool sS_i, bool sS_b, bool sS_p, bool sS_jS, bool sS_zS, bool sS_sS, bool sS_jM, bool sS_sM, + bool jM_e, bool jM_i, bool jM_b, bool jM_p, bool jM_jS, bool jM_zS, bool jM_sS, bool jM_jM, bool jM_sM, + bool sM_e, bool sM_i, bool sM_b, bool sM_p, bool sM_jS, bool sM_zS, bool sM_sS, bool sM_jM, bool sM_sM, + bool check_base_class = true + ) +{ + typedef interval_set<int> jS; + typedef separate_interval_set<int> zS; + typedef split_interval_set<int> sS; + typedef interval_map<int,double> jM; + typedef split_interval_map<int,double> sM; + + typedef interval_base_set<jS,int> jT; + typedef interval_base_set<zS,int> zT; + typedef interval_base_set<sS,int> sT; + typedef interval_base_map<jM,int,double> jN; + typedef interval_base_map<sM,int,double> sN; + + typedef interval_set<int>::element_type S_e; + typedef interval_set<int>::segment_type S_i; + + typedef interval_map<int,double>::element_type M_b; + typedef interval_map<int,double>::segment_type M_p; + + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, jS, S_e>(jS_e , "jS_e ", text); + check_combinable<IsCombinable, jS, S_i>(jS_i , "jS_i ", text); + check_combinable<IsCombinable, jS, M_b>(jS_b , "jS_b ", text); + check_combinable<IsCombinable, jS, M_p>(jS_p , "jS_p ", text); + check_combinable<IsCombinable, jS, jS >(jS_jS, "jS_jS", text); + check_combinable<IsCombinable, jS, zS >(jS_zS, "jS_zS", text); + check_combinable<IsCombinable, jS, sS >(jS_sS, "jS_sS", text); + check_combinable<IsCombinable, jS, jM >(jS_jM, "jS_jM", text); + check_combinable<IsCombinable, jS, sM >(jS_sM, "jS_sM", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, zS, S_e>(zS_e , "zS_e ", text); + check_combinable<IsCombinable, zS, S_i>(zS_i , "zS_i ", text); + check_combinable<IsCombinable, zS, M_b>(zS_b , "zS_b ", text); + check_combinable<IsCombinable, zS, M_p>(zS_p , "zS_p ", text); + check_combinable<IsCombinable, zS, jS >(zS_jS, "zS_jS", text); + check_combinable<IsCombinable, zS, zS >(zS_zS, "zS_zS", text); + check_combinable<IsCombinable, zS, sS >(zS_sS, "zS_sS", text); + check_combinable<IsCombinable, zS, jM >(zS_jM, "zS_jM", text); + check_combinable<IsCombinable, zS, sM >(zS_sM, "zS_sM", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, sS, S_e>(sS_e , "sS_e ", text); + check_combinable<IsCombinable, sS, S_i>(sS_i , "sS_i ", text); + check_combinable<IsCombinable, sS, M_b>(sS_b , "sS_b ", text); + check_combinable<IsCombinable, sS, M_p>(sS_p , "sS_p ", text); + check_combinable<IsCombinable, sS, jS >(sS_jS, "sS_jS", text); + check_combinable<IsCombinable, sS, zS >(sS_zS, "sS_zS", text); + check_combinable<IsCombinable, sS, sS >(sS_sS, "sS_sS", text); + check_combinable<IsCombinable, sS, jM >(sS_jM, "sS_jM", text); + check_combinable<IsCombinable, sS, sM >(sS_sM, "sS_sM", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, jM, S_e>(jM_e , "jM_e ", text); + check_combinable<IsCombinable, jM, S_i>(jM_i , "jM_i ", text); + check_combinable<IsCombinable, jM, M_b>(jM_b , "jM_b ", text); + check_combinable<IsCombinable, jM, M_p>(jM_p , "jM_p ", text); + check_combinable<IsCombinable, jM, jS >(jM_jS, "jM_jS", text); + check_combinable<IsCombinable, jM, zS >(jM_zS, "jM_zS", text); + check_combinable<IsCombinable, jM, sS >(jM_sS, "jM_sS", text); + check_combinable<IsCombinable, jM, jM >(jM_jM, "jM_jM", text); + check_combinable<IsCombinable, jM, sM >(jM_sM, "jM_sM", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, sM, S_e>(sM_e , "sM_e ", text); + check_combinable<IsCombinable, sM, S_i>(sM_i , "sM_i ", text); + check_combinable<IsCombinable, sM, M_b>(sM_b , "sM_b ", text); + check_combinable<IsCombinable, sM, M_p>(sM_p , "sM_p ", text); + check_combinable<IsCombinable, sM, jS >(sM_jS, "sM_jS", text); + check_combinable<IsCombinable, sM, zS >(sM_zS, "sM_zS", text); + check_combinable<IsCombinable, sM, sS >(sM_sS, "sM_sS", text); + check_combinable<IsCombinable, sM, jM >(sM_jM, "sM_jM", text); + check_combinable<IsCombinable, sM, sM >(sM_sM, "sM_sM", text); + //-------------------------------------------------------------------------- + + if(check_base_class) + { + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, jT, S_e>(jS_e , "jT_e ", text); + check_combinable<IsCombinable, jT, S_i>(jS_i , "jT_i ", text); + check_combinable<IsCombinable, jT, M_b>(jS_b , "jT_b ", text); + check_combinable<IsCombinable, jT, M_p>(jS_p , "jT_p ", text); + check_combinable<IsCombinable, jT, jS >(jS_jS, "jT_jS", text); + check_combinable<IsCombinable, jT, zS >(jS_zS, "jT_zS", text); + check_combinable<IsCombinable, jT, sS >(jS_sS, "jT_sS", text); + check_combinable<IsCombinable, jT, jM >(jS_jM, "jT_jM", text); + check_combinable<IsCombinable, jT, sM >(jS_sM, "jT_sM", text); + check_combinable<IsCombinable, jT, jT >(jS_jS, "jT_jT", text); + check_combinable<IsCombinable, jT, zT >(jS_zS, "jT_zT", text); + check_combinable<IsCombinable, jT, sT >(jS_sS, "jT_sT", text); + check_combinable<IsCombinable, jT, jN >(jS_jM, "jT_jN", text); + check_combinable<IsCombinable, jT, sN >(jS_sM, "jT_sN", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, zT, S_e>(zS_e , "zT_e ", text); + check_combinable<IsCombinable, zT, S_i>(zS_i , "zT_i ", text); + check_combinable<IsCombinable, zT, M_b>(zS_b , "zT_b ", text); + check_combinable<IsCombinable, zT, M_p>(zS_p , "zT_p ", text); + check_combinable<IsCombinable, zT, jS >(zS_jS, "zT_jS", text); + check_combinable<IsCombinable, zT, zS >(zS_zS, "zT_zS", text); + check_combinable<IsCombinable, zT, sS >(zS_sS, "zT_sS", text); + check_combinable<IsCombinable, zT, jM >(zS_jM, "zT_jM", text); + check_combinable<IsCombinable, zT, sM >(zS_sM, "zT_sM", text); + check_combinable<IsCombinable, zT, jT >(zS_jS, "zT_jT", text); + check_combinable<IsCombinable, zT, zT >(zS_zS, "zT_zT", text); + check_combinable<IsCombinable, zT, sT >(zS_sS, "zT_sT", text); + check_combinable<IsCombinable, zT, jN >(zS_jM, "zT_jN", text); + check_combinable<IsCombinable, zT, sN >(zS_sM, "zT_sN", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, sT, S_e>(sS_e , "sT_e ", text); + check_combinable<IsCombinable, sT, S_i>(sS_i , "sT_i ", text); + check_combinable<IsCombinable, sT, M_b>(sS_b , "sT_b ", text); + check_combinable<IsCombinable, sT, M_p>(sS_p , "sT_p ", text); + check_combinable<IsCombinable, sT, jS >(sS_jS, "sT_jS", text); + check_combinable<IsCombinable, sT, zS >(sS_zS, "sT_zS", text); + check_combinable<IsCombinable, sT, sS >(sS_sS, "sT_sS", text); + check_combinable<IsCombinable, sT, jM >(sS_jM, "sT_jM", text); + check_combinable<IsCombinable, sT, sM >(sS_sM, "sT_sM", text); + check_combinable<IsCombinable, sT, jT >(sS_jS, "sT_jT", text); + check_combinable<IsCombinable, sT, zT >(sS_zS, "sT_zT", text); + check_combinable<IsCombinable, sT, sT >(sS_sS, "sT_sT", text); + check_combinable<IsCombinable, sT, jN >(sS_jM, "sT_jN", text); + check_combinable<IsCombinable, sT, sN >(sS_sM, "sT_sN", text); + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, jN, S_e>(jM_e , "jN_e ", text); + check_combinable<IsCombinable, jN, S_i>(jM_i , "jN_i ", text); + check_combinable<IsCombinable, jN, M_b>(jM_b , "jN_b ", text); + check_combinable<IsCombinable, jN, M_p>(jM_p , "jN_p ", text); + check_combinable<IsCombinable, jN, jS >(jM_jS, "jN_jS", text); + check_combinable<IsCombinable, jN, zS >(jM_zS, "jN_zS", text); + check_combinable<IsCombinable, jN, sS >(jM_sS, "jN_sS", text); + check_combinable<IsCombinable, jN, jM >(jM_jM, "jN_jM", text);// + check_combinable<IsCombinable, jN, sM >(jM_sM, "jN_sM", text);// + check_combinable<IsCombinable, jN, jT >(jM_jS, "jN_jT", text); + check_combinable<IsCombinable, jN, zT >(jM_zS, "jN_zT", text); + check_combinable<IsCombinable, jN, sT >(jM_sS, "jN_sT", text); + check_combinable<IsCombinable, jN, jN >(jM_jM, "jN_jN", text);// + check_combinable<IsCombinable, jN, sN >(jM_sM, "jN_sN", text);// + //-------------------------------------------------------------------------- + check_combinable<IsCombinable, sN, S_e>(sM_e , "sN_e ", text); + check_combinable<IsCombinable, sN, S_i>(sM_i , "sN_i ", text); + check_combinable<IsCombinable, sN, M_b>(sM_b , "sN_b ", text); + check_combinable<IsCombinable, sN, M_p>(sM_p , "sN_p ", text); + check_combinable<IsCombinable, sN, jS >(sM_jS, "sN_jS", text); + check_combinable<IsCombinable, sN, zS >(sM_zS, "sN_zS", text); + check_combinable<IsCombinable, sN, sS >(sM_sS, "sN_sS", text); + check_combinable<IsCombinable, sN, jM >(sM_jM, "sN_jM", text); + check_combinable<IsCombinable, sN, sM >(sM_sM, "sN_sM", text); + check_combinable<IsCombinable, sN, jT >(sM_jS, "sN_jT", text); + check_combinable<IsCombinable, sN, zT >(sM_zS, "sN_zT", text); + check_combinable<IsCombinable, sN, sT >(sM_sS, "sN_sT", text); + check_combinable<IsCombinable, sN, jN >(sM_jM, "sN_jN", text); + check_combinable<IsCombinable, sN, sN >(sM_sM, "sN_sN", text); + } +} + + +BOOST_AUTO_TEST_CASE(test_icl_is_derivative) +{ + //-------------------------------------------------------------------------- + // 1.1 + check_combine_pattern<is_intra_derivative>( + "is_intra_derivative", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 0, 0, // jM + 0, 0, 1, 1, 0, 0, 0, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 1.2 + check_combine_pattern<is_cross_derivative>( + "is_cross_derivative", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jM + 1, 1, 0, 0, 0, 0, 0, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 1.3 + check_combine_pattern<is_inter_derivative>( + "is_inter_derivative", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // sS + 1, 1, 1, 1, 0, 0, 0, 0, 0, // jM + 1, 1, 1, 1, 0, 0, 0, 0, 0 // sM + ); +} + +BOOST_AUTO_TEST_CASE(test_icl_is_combinable) +{ + //-------------------------------------------------------------------------- + // 2.1 + check_combine_pattern<is_intra_combinable>( + "is_intra_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 1, 1, 1, 0, 0, // jS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // zS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // sS + 0, 0, 0, 0, 0, 0, 0, 1, 1, // jM + 0, 0, 0, 0, 0, 0, 0, 1, 1 // sM + ); + + //-------------------------------------------------------------------------- + // 2.2 + check_combine_pattern<is_cross_combinable>( + "is_cross_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 1, 1, // jS + 0, 0, 0, 0, 0, 0, 0, 1, 1, // zS + 0, 0, 0, 0, 0, 0, 0, 1, 1, // sS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // jM + 0, 0, 0, 0, 1, 1, 1, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 2.3 + check_combine_pattern<is_inter_combinable>( + "is_inter_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 1, 1, 1, 1, 1, // jS + 0, 0, 0, 0, 1, 1, 1, 1, 1, // zS + 0, 0, 0, 0, 1, 1, 1, 1, 1, // sS + 0, 0, 0, 0, 1, 1, 1, 1, 1, // jM + 0, 0, 0, 0, 1, 1, 1, 1, 1 // sM + ); + +} + +BOOST_AUTO_TEST_CASE(test_icl_is_container_right_combinable) +{ + //-------------------------------------------------------------------------- + // 3.1 + // LeftT is an interval_set: + // is_interval_set_right_combinable<LeftT, RightT> determines what can + // be combined as RightT argument type. + check_combine_pattern<is_interval_set_right_combinable>( + "is_interval_set_right_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // sS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jM + 0, 0, 0, 0, 0, 0, 0, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 3.2 + check_combine_pattern<is_interval_map_right_intra_combinable>( + "is_interval_map_right_intra_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 1, 1, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 1 // sM + ); + + //-------------------------------------------------------------------------- + // 3.3 + check_combine_pattern<is_interval_map_right_cross_combinable>( + "is_interval_map_right_cross_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jM + 1, 1, 0, 0, 1, 1, 1, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 3.4 + check_combine_pattern<is_interval_map_right_inter_combinable>( + "is_interval_map_right_inter_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 1, 1, 1, 1, 1, 1, 1, 1, 1, // jM + 1, 1, 1, 1, 1, 1, 1, 1, 1 // sM + ); + +} + +BOOST_AUTO_TEST_CASE(test_icl_is_right_combinable) +{ + //-------------------------------------------------------------------------- + // 4.1 + check_combine_pattern<is_right_intra_combinable>( + "is_right_intra_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 1, 1, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 1 // sM + ); + + //-------------------------------------------------------------------------- + // 4.2 + check_combine_pattern<is_right_inter_combinable>( + "is_right_inter_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // sS + 1, 1, 1, 1, 1, 1, 1, 1, 1, // jM + 1, 1, 1, 1, 1, 1, 1, 1, 1 // sM + ); +} + +BOOST_AUTO_TEST_CASE(test_icl_combines_right_to) +{ + //-------------------------------------------------------------------------- + // 5.1 + check_combine_pattern<combines_right_to_interval_set>( + "combines_right_to_interval_set", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 1, 1, 1, 0, 0, // jS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // zS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // sS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // jM + 0, 0, 0, 0, 1, 1, 1, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 5.2 + check_combine_pattern<combines_right_to_interval_map>( + "combines_right_to_interval_map", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 0, 0, 0, 0, 0, 1, 1, // jM + 0, 0, 0, 0, 0, 0, 0, 1, 1 // sM + ); + + //-------------------------------------------------------------------------- + // 5.3 + check_combine_pattern<combines_right_to_interval_container>( + "combines_right_to_interval_container", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 1, 1, 1, 0, 0, // jS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // zS + 0, 0, 0, 0, 1, 1, 1, 0, 0, // sS + 0, 0, 0, 0, 1, 1, 1, 1, 1, // jM + 0, 0, 0, 0, 1, 1, 1, 1, 1 // sM + ); +} + +BOOST_AUTO_TEST_CASE(test_icl_is_companion) +{ + //-------------------------------------------------------------------------- + // 6.1 + check_combine_pattern<is_interval_set_companion>( + "is_interval_set_companion", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // sS + 1, 1, 0, 0, 1, 1, 1, 0, 0, // jM + 1, 1, 0, 0, 1, 1, 1, 0, 0 // sM + ); + + //-------------------------------------------------------------------------- + // 6.2 + check_combine_pattern<is_interval_map_companion>( + "is_interval_map_companion", + // e i b p jS zS sS jM sM + 0, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 1, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 1, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 1, 1, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 1 // sM + ); +} + +BOOST_AUTO_TEST_CASE(test_icl_is_coarser_combinable) +{ + //-------------------------------------------------------------------------- + // 7.1 + check_combine_pattern<is_coarser_interval_set_companion>( + "is_coarser_interval_set_companion", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 1, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 0, 0, 0, // sS + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jM + 1, 1, 0, 0, 1, 1, 0, 0, 0, // sM + false + ); + + //-------------------------------------------------------------------------- + // 7.2 + check_combine_pattern<is_coarser_interval_map_companion>( + "is_coarser_interval_map_companion", + // e i b p jS zS sS jM sM + 0, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 1, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 1, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 0, 0, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 0, // sM + false + ); + + //-------------------------------------------------------------------------- + // 8.1 + check_combine_pattern<is_binary_interval_set_combinable>( + "is_binary_interval_set_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 1, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 0, 0, 0, // sS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sM + false + ); + + //-------------------------------------------------------------------------- + // 8.2 + check_combine_pattern<is_binary_interval_map_combinable>( + "is_binary_interval_map_combinable", + // e i b p jS zS sS jM sM + 0, 0, 0, 0, 0, 0, 0, 0, 0, // jS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // zS + 0, 0, 0, 0, 0, 0, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 0, 0, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 0, // sM + false + ); +} + +BOOST_AUTO_TEST_CASE(test_icl_is_binary_combinable) +{ + //-------------------------------------------------------------------------- + // 9.1 + check_combine_pattern<is_binary_intra_combinable>( + "is_binary_intra_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 1, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 0, 0, 0, // sS + 0, 0, 1, 1, 0, 0, 0, 0, 0, // jM + 0, 0, 1, 1, 0, 0, 0, 1, 0, // sM + false + ); + + //-------------------------------------------------------------------------- + // 9.2 + check_combine_pattern<is_binary_inter_combinable>( + "is_binary_inter_combinable", + // e i b p jS zS sS jM sM + 1, 1, 0, 0, 0, 0, 0, 0, 0, // jS + 1, 1, 0, 0, 1, 0, 0, 0, 0, // zS + 1, 1, 0, 0, 1, 1, 0, 0, 0, // sS + 1, 1, 1, 1, 1, 1, 1, 0, 0, // jM + 1, 1, 1, 1, 1, 1, 1, 1, 0, // sM + false + ); +} diff --git a/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj b/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj new file mode 100644 index 00000000..5cc569c0 --- /dev/null +++ b/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}</ProjectGuid> + <RootNamespace>Test_combinable</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_combinable.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj.filters b/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj.filters new file mode 100644 index 00000000..3a73e697 --- /dev/null +++ b/src/boost/libs/icl/test/test_combinable_/vc10_test_combinable.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_combinable.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_combinable_/vc9_test_combinable.vcproj b/src/boost/libs/icl/test/test_combinable_/vc9_test_combinable.vcproj new file mode 100644 index 00000000..65268360 --- /dev/null +++ b/src/boost/libs/icl/test/test_combinable_/vc9_test_combinable.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_combinable" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}" + RootNamespace="Test_combinable" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_combinable.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_doc_code_/test_doc_code.cpp b/src/boost/libs/icl/test/test_doc_code_/test_doc_code.cpp new file mode 100644 index 00000000..7339a5fc --- /dev/null +++ b/src/boost/libs/icl/test/test_doc_code_/test_doc_code.cpp @@ -0,0 +1,109 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::test_doc_code unit test +#include <libs/icl/test/disable_test_warnings.hpp> + +#include <limits> +#include <complex> + + +#include <string> +#include <vector> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/type_traits/is_same.hpp> + +#include <boost/icl/rational.hpp> + +#include <boost/icl/detail/interval_morphism.hpp> +#include <boost/icl/interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +BOOST_AUTO_TEST_CASE(intro_sample_telecast) +{ + // Switch on my favorite telecasts using an interval_set + interval<int>::type news(2000, 2015); + interval<int>::type talk_show(2245, 2330); + interval_set<int> myTvProgram; + myTvProgram.add(news).add(talk_show); + + // Iterating over elements (seconds) would be silly ... + for(interval_set<int>::iterator telecast = myTvProgram.begin(); + telecast != myTvProgram.end(); ++telecast) + //...so this iterates over intervals + //TV.switch_on(*telecast); + cout << *telecast; + + cout << endl; +} + +BOOST_AUTO_TEST_CASE(interface_sample_identifiers) +{ + typedef interval_set<std::string, less, continuous_interval<std::string> > IdentifiersT; + IdentifiersT identifiers, excluded; + + // special identifiers shall be excluded + identifiers += continuous_interval<std::string>::right_open("a", "c"); + identifiers -= std::string("boost"); + cout << "identifiers: " << identifiers << endl; + + excluded = IdentifiersT(icl::hull(identifiers)) - identifiers; + cout << "excluded : " << excluded << endl; + + if(icl::contains(identifiers, std::string("boost"))) + cout << "error, identifiers.contains('boost')\n"; +} + +BOOST_AUTO_TEST_CASE(function_reference_element_iteration) +{ + // begin of doc code ------------------------------------------------------- + interval_set<int> inter_set; + inter_set.add(interval<int>::right_open(0,3)) + .add(interval<int>::right_open(7,9)); + + for(interval_set<int>::element_const_iterator creeper = elements_begin(inter_set); + creeper != elements_end(inter_set); ++creeper) + cout << *creeper << " "; + cout << endl; + //Program output: 0 1 2 7 8 + + for(interval_set<int>::element_reverse_iterator repeerc = elements_rbegin(inter_set); + repeerc != elements_rend(inter_set); ++repeerc) + cout << *repeerc << " "; + cout << endl; + //Program output: 8 7 2 1 0 + // end of doc code --------------------------------------------------------- + + // Testcode + std::stringstream result; + for(interval_set<int>::element_iterator creeper2 = elements_begin(inter_set); + creeper2 != elements_end(inter_set); ++creeper2) + result << *creeper2 << " "; + + BOOST_CHECK_EQUAL(result.str(), std::string("0 1 2 7 8 ")); + + std::stringstream tluser; + for(interval_set<int>::element_const_reverse_iterator repeerc2 + = elements_rbegin(const_cast<const interval_set<int>&>(inter_set)); + repeerc2 != elements_rend(const_cast<const interval_set<int>&>(inter_set)); ++repeerc2) + tluser << *repeerc2 << " "; + + BOOST_CHECK_EQUAL(tluser.str(), std::string("8 7 2 1 0 ")); +} + diff --git a/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj b/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj new file mode 100644 index 00000000..3d3677a1 --- /dev/null +++ b/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}</ProjectGuid> + <RootNamespace>Test_doc_code</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_doc_code.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj.filters b/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj.filters new file mode 100644 index 00000000..51ccfe7d --- /dev/null +++ b/src/boost/libs/icl/test/test_doc_code_/vc10_test_doc_code.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_doc_code.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_doc_code_/vc9_test_doc_code.vcproj b/src/boost/libs/icl/test/test_doc_code_/vc9_test_doc_code.vcproj new file mode 100644 index 00000000..9094b850 --- /dev/null +++ b/src/boost/libs/icl/test/test_doc_code_/vc9_test_doc_code.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_doc_code" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}" + RootNamespace="Test_doc_code" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_doc_code.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_functions.hpp b/src/boost/libs/icl/test/test_functions.hpp new file mode 100644 index 00000000..3ca87025 --- /dev/null +++ b/src/boost/libs/icl/test/test_functions.hpp @@ -0,0 +1,67 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------+ +Auxiliary functions to reduce redundancies in test case code. ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_FUNCTIONS_H_JOFA_091003 +#define BOOST_ICL_TEST_FUNCTIONS_H_JOFA_091003 + +#include <boost/icl/detail/notate.hpp> +#include <boost/icl/type_traits/interval_type_default.hpp> +#include <boost/icl/discrete_interval.hpp> + +#include <boost/icl/type_traits/identity_element.hpp> +#include <boost/icl/functors.hpp> +#include "portability.hpp" + + +namespace boost{namespace icl +{ + +template <class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap, +#endif + class SequenceT +> +void itl_map_copy(const SequenceT& segments, + ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)& destination) +{ + ICL_const_FORALL(typename SequenceT, segment_, segments) + destination.insert(*segment_); +} + + +template <class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap, +#endif + class SequenceT +> +void test_interval_map_copy_via_inserter(const SequenceT& segments, + ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)& std_copied_map) +{ + // The second parameter (std_copied_map) could be omitted and is only held as a + // local variable. It is there to help gcc-3.4.4 resolving the function template type. + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT looped_copied_map; + std_copied_map.clear(); + itl_map_copy(segments, looped_copied_map); + std::copy(segments.begin(), segments.end(), std::inserter(std_copied_map, std_copied_map.end())); + BOOST_CHECK_EQUAL( looped_copied_map, std_copied_map ); +} + +}} // namespace icl boost + +#endif // BOOST_ICL_TEST_FUNCTIONS_H_JOFA_091003 + diff --git a/src/boost/libs/icl/test/test_icl_continuous_interval.hpp b/src/boost/libs/icl/test/test_icl_continuous_interval.hpp new file mode 100644 index 00000000..5cbd1bda --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_continuous_interval.hpp @@ -0,0 +1,82 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_INTERVAL_CONTINUOUS_HPP_JOFA_100930 +#define BOOST_ICL_TEST_ICL_INTERVAL_CONTINUOUS_HPP_JOFA_100930 + +template <class T, class IntervalT> +void interval_ctor_4_ordered_types() +{ + BOOST_CHECK_EQUAL(icl::is_empty(IntervalT()), true); + BOOST_CHECK_EQUAL(icl::cardinality(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value()); + BOOST_CHECK_EQUAL(icl::size(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value()); + + BOOST_CHECK_EQUAL( IntervalT(), IntervalT() ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(IntervalT().lower(), IntervalT().upper()) ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) ); +} + + +template <class T, ICL_COMPARE Compare> +void distant_intervals_4_numeric_continuous_types() +{ + typedef right_open_interval<T,Compare> L__D; // L__D for [..) + typedef left_open_interval<T,Compare> C__I; // C__I for (..] + typedef typename icl::interval<T,Compare>::type IntervalT; + + BOOST_CHECK( is_interval<L__D>::value ); + BOOST_CHECK( has_difference<typename interval_traits<L__D>::domain_type>::value ); + BOOST_CHECK( is_continuous<typename interval_traits<L__D>::domain_type>::value ); + BOOST_CHECK( (boost::is_same<typename interval_traits<L__D>::domain_type, T>::value) ); + + //CL typedef typename difference_type_of<T>::type DiffT; + + test_inner_complement<T,Compare,L__D>(MK_I(L__D,0,4), MK_I(L__D,8,9)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,7,8), MK_I(L__D,2,3)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,2,4), MK_I(L__D,4,6)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,3,7), MK_I(L__D,5,8)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,7,9), MK_I(L__D,0,4)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,0,0), MK_I(L__D,0,0)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,1,0), MK_I(L__D,2,0)); + + test_inner_complement<T,Compare,C__I>(MK_I(C__I,1,5), MK_I(C__I,4,9)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,4,6), MK_I(C__I,1,3)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,0,2), MK_I(C__I,4,6)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,0,2), MK_I(C__I,0,6)); + + //-------------------------------------------------------------------------- +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + test_inner_complement<T,Compare,IntervalT>(I_D(0,4), I_D(8,9)); + test_inner_complement<T,Compare,IntervalT>(I_D(7,8), I_D(2,3)); + test_inner_complement<T,Compare,IntervalT>(I_D(2,4), I_D(4,6)); + test_inner_complement<T,Compare,IntervalT>(I_D(3,7), I_D(5,8)); + test_inner_complement<T,Compare,IntervalT>(I_D(7,9), I_D(0,4)); + test_inner_complement<T,Compare,IntervalT>(I_D(0,0), I_D(0,0)); + test_inner_complement<T,Compare,IntervalT>(I_D(1,0), I_D(2,0)); + + test_inner_complement<T,Compare,IntervalT>(C_I(1,5), C_I(4,9)); + test_inner_complement<T,Compare,IntervalT>(C_I(4,6), C_I(1,3)); + test_inner_complement<T,Compare,IntervalT>(C_I(0,2), C_I(4,6)); + test_inner_complement<T,Compare,IntervalT>(C_I(0,2), C_I(0,6)); + + test_inner_complement<T,Compare,IntervalT>(I_I(7,9), I_I(0,5)); + test_inner_complement<T,Compare,IntervalT>(I_I(0,9), I_I(2,5)); + + test_inner_complement<T,Compare,IntervalT>(C_D(6,9), C_D(1,4)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,3), C_D(1,4)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,3), C_D(6,8)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,7), C_D(1,6)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,1), C_D(1,1)); + test_inner_complement<T,Compare,IntervalT>(C_D(3,0), C_D(4,0)); + test_inner_complement<T,Compare,IntervalT>(C_D(0,2), C_D(4,6)); + test_inner_complement<T,Compare,IntervalT>(C_D(0,2), C_D(0,6)); +#endif //BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +} + + + +#endif // BOOST_ICL_TEST_ICL_INTERVAL_CONTINUOUS_HPP_JOFA_100930 diff --git a/src/boost/libs/icl/test/test_icl_discrete_interval.hpp b/src/boost/libs/icl/test/test_icl_discrete_interval.hpp new file mode 100644 index 00000000..e7aea275 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_discrete_interval.hpp @@ -0,0 +1,98 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_DISCRETE_INTERVAL_HPP_JOFA_100930 +#define BOOST_ICL_TEST_ICL_DISCRETE_INTERVAL_HPP_JOFA_100930 + + +template <class T, class IntervalT> +void discrete_interval_traits() +{ + BOOST_CHECK( is_interval<IntervalT>::value ); + BOOST_CHECK( is_discrete_interval<IntervalT>::value ); + BOOST_CHECK( is_discrete<typename IntervalT::domain_type>::value ); + BOOST_CHECK(!is_continuous<typename IntervalT::domain_type>::value); + BOOST_CHECK( has_dynamic_bounds<IntervalT>::value ); + BOOST_CHECK(!has_static_bounds<IntervalT>::value ); +} + +template <class T, class IntervalT> +void discrete_interval_ctor__dis_4_dyn_v_sta() // discrete && (dynamic or static) +{ + BOOST_CHECK_EQUAL( IntervalT(MK_v(3)), IntervalT(MK_v(3)) ); + BOOST_CHECK_EQUAL( icl::contains(IntervalT(MK_v(1)), MK_v(1)), true ); +} + +template <class T, ICL_COMPARE Compare> +void distant_intervals_4_discrete_types() +{ + typedef right_open_interval<T,Compare> L__D; // L__D for [..) + typedef left_open_interval<T,Compare> C__I; // C__I for (..] + typedef closed_interval<T,Compare> L__I; // L__I for [..] + typedef open_interval<T,Compare> C__D; // C__D for (..) + typedef typename icl::interval<T,Compare>::type IntervalT; + + BOOST_CHECK( is_interval<L__D>::value ); + BOOST_CHECK( has_difference<typename interval_traits<L__D>::domain_type>::value ); + BOOST_CHECK( is_discrete<typename interval_traits<L__D>::domain_type>::value ); + BOOST_CHECK( (boost::is_same<typename interval_traits<L__D>::domain_type, T>::value) ); + + test_inner_complement<T,Compare,L__D>(MK_I(L__D,0,4), MK_I(L__D,8,9)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,7,8), MK_I(L__D,2,3)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,2,4), MK_I(L__D,4,6)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,3,7), MK_I(L__D,5,8)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,7,9), MK_I(L__D,0,4)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,0,0), MK_I(L__D,0,0)); + test_inner_complement<T,Compare,L__D>(MK_I(L__D,1,0), MK_I(L__D,2,0)); + + test_inner_complement<T,Compare,C__I>(MK_I(C__I,1,5), MK_I(C__I,4,9)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,4,6), MK_I(C__I,1,3)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,0,2), MK_I(C__I,4,6)); + test_inner_complement<T,Compare,C__I>(MK_I(C__I,0,2), MK_I(C__I,0,6)); + + test_inner_complement<T,Compare,L__I>(MK_I(L__I,7,9), MK_I(L__I,0,5)); + test_inner_complement<T,Compare,L__I>(MK_I(L__I,0,9), MK_I(L__I,2,5)); + + test_inner_complement<T,Compare,C__D>(MK_I(C__D,6,9), MK_I(C__D,1,4)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,1,3), MK_I(C__D,1,4)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,1,3), MK_I(C__D,6,8)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,1,7), MK_I(C__D,1,6)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,1,1), MK_I(C__D,1,1)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,3,0), MK_I(C__D,4,0)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,0,2), MK_I(C__D,4,6)); + test_inner_complement<T,Compare,C__D>(MK_I(C__D,0,2), MK_I(C__D,0,6)); + + //-------------------------------------------------------------------------- + test_inner_complement<T,Compare,IntervalT>(I_D(0,4), I_D(8,9)); + test_inner_complement<T,Compare,IntervalT>(I_D(7,8), I_D(2,3)); + test_inner_complement<T,Compare,IntervalT>(I_D(2,4), I_D(4,6)); + test_inner_complement<T,Compare,IntervalT>(I_D(3,7), I_D(5,8)); + test_inner_complement<T,Compare,IntervalT>(I_D(7,9), I_D(0,4)); + test_inner_complement<T,Compare,IntervalT>(I_D(0,0), I_D(0,0)); + test_inner_complement<T,Compare,IntervalT>(I_D(1,0), I_D(2,0)); + + test_inner_complement<T,Compare,IntervalT>(C_I(1,5), C_I(4,9)); + test_inner_complement<T,Compare,IntervalT>(C_I(4,6), C_I(1,3)); + test_inner_complement<T,Compare,IntervalT>(C_I(0,2), C_I(4,6)); + test_inner_complement<T,Compare,IntervalT>(C_I(0,2), C_I(0,6)); + + test_inner_complement<T,Compare,IntervalT>(I_I(7,9), I_I(0,5)); + test_inner_complement<T,Compare,IntervalT>(I_I(0,9), I_I(2,5)); + + test_inner_complement<T,Compare,IntervalT>(C_D(6,9), C_D(1,4)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,3), C_D(1,4)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,3), C_D(6,8)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,7), C_D(1,6)); + test_inner_complement<T,Compare,IntervalT>(C_D(1,1), C_D(1,1)); + test_inner_complement<T,Compare,IntervalT>(C_D(3,0), C_D(4,0)); + test_inner_complement<T,Compare,IntervalT>(C_D(0,2), C_D(4,6)); + test_inner_complement<T,Compare,IntervalT>(C_D(0,2), C_D(0,6)); + +} + + +#endif // BOOST_ICL_TEST_ICL_DISCRETE_INTERVAL_HPP_JOFA_100930 diff --git a/src/boost/libs/icl/test/test_icl_dynamic_interval.hpp b/src/boost/libs/icl/test/test_icl_dynamic_interval.hpp new file mode 100644 index 00000000..dcafcfab --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_dynamic_interval.hpp @@ -0,0 +1,66 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_DYNAMIC_INTERVAL_HPP_JOFA_100930 +#define BOOST_ICL_TEST_ICL_DYNAMIC_INTERVAL_HPP_JOFA_100930 + +template <class IntervalT> +void dynamic_interval_ctor_4_ordered_types() +{ + typedef typename domain_type_of<interval_traits<IntervalT> >::type T; + + BOOST_CHECK_EQUAL(IntervalT().lower(), icl::identity_element<T>::value()); + BOOST_CHECK_EQUAL(IntervalT().upper(), icl::identity_element<T>::value()); + BOOST_CHECK_EQUAL(icl::lower(IntervalT()), icl::identity_element<T>::value()); + BOOST_CHECK_EQUAL(icl::upper(IntervalT()), icl::identity_element<T>::value()); + + IntervalT empty_itv = IntervalT(icl::identity_element<T>::value(), icl::identity_element<T>::value()); + BOOST_CHECK_EQUAL(IntervalT(), empty_itv); + BOOST_CHECK_EQUAL(IntervalT(), IntervalT(icl::identity_element<T>::value(), icl::identity_element<T>::value())); + BOOST_CHECK_EQUAL(IntervalT(), IntervalT(icl::identity_element<T>::value(), icl::identity_element<T>::value(), interval_bounds::right_open())); +} + +template <class T> +void dynamic_interval_bounds_4_bicremental_types() +{ + typedef typename icl::interval<T>::type IntervalT; + + // BOOST_CHECK_EQUAL( T(), icl::pred(icl::succ(T()))); + BOOST_CHECK_EQUAL( icl::identity_element<T>::value(), icl::pred(icl::succ(icl::identity_element<T>::value())) ); + BOOST_CHECK_EQUAL( icl::unit_element<T>::value(), icl::succ(icl::identity_element<T>::value()) ); + BOOST_CHECK_EQUAL( length(IntervalT()), icl::identity_element<typename difference_type_of<T>::type>::value() ); + + //LAW: I x: borders(x)==closed => contains(x, lower(x)) && contains(x, upper(x)) + check_border_containedness(I_I(0,0)); + check_border_containedness(I_I(2,5)); + + check_border_containedness(I_D(0,1)); + check_border_containedness(I_D(2,5)); + + check_border_containedness(C_I(0,1)); + check_border_containedness(C_I(2,5)); + + check_border_containedness(C_D(0,2)); + check_border_containedness(C_D(2,5)); + +} + +template <class T> +void discrete_dynamic_interval_bounds_4_bicremental_types() +{ + //CL typedef typename icl::interval<T>::type IntervalT; + + BOOST_CHECK( icl::bounds(I_I(2,4)) == interval_bounds::closed() ); + BOOST_CHECK( icl::bounds(I_D(2,5)) == interval_bounds::right_open() ); + BOOST_CHECK( icl::bounds(C_I(1,4)) == interval_bounds::left_open() ); + BOOST_CHECK( icl::bounds(C_D(1,5)) == interval_bounds::open() ); + +} + + + +#endif // BOOST_ICL_TEST_ICL_DYNAMIC_INTERVAL_HPP_JOFA_100930 diff --git a/src/boost/libs/icl/test/test_icl_interval.hpp b/src/boost/libs/icl/test/test_icl_interval.hpp new file mode 100644 index 00000000..f443395e --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval.hpp @@ -0,0 +1,107 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_INTERVAL_HPP_JOFA_100930 +#define BOOST_ICL_TEST_ICL_INTERVAL_HPP_JOFA_100930 + +// NOTE: ordered_types is the largest class of types that is admissable as +// domain parameters for intervals and interval containers. +// bicremental_types is a smaller class of types used for testing instead of +// ordered types, because they can be generated in a simple +// way using the functions of test_value_maker.hpp. + +template <class IntervalT> +void interval_ctor_4_ordered_types() +{ + typedef typename domain_type_of<interval_traits<IntervalT> >::type T; + typedef typename icl::size_type_of<T>::type SizeT; + T t_0 = icl::identity_element<T>::value(); + T t_1 = icl::unit_element<T>::value(); + SizeT s_0 = icl::identity_element<SizeT>::value(); + SizeT s_1 = icl::unit_element<SizeT>::value(); + + // Default ctor and emptieness + BOOST_CHECK_EQUAL( icl::is_empty(IntervalT()), true ); + BOOST_CHECK_EQUAL( icl::cardinality(IntervalT()), s_0 ); + BOOST_CHECK_EQUAL( icl::size(IntervalT()), s_0 ); + + BOOST_CHECK_EQUAL( IntervalT(), IntervalT() ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(IntervalT().lower(), IntervalT().upper()) ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) ); + + BOOST_CHECK_EQUAL(icl::cardinality(IntervalT(t_0, t_1)) >= s_1, true); + BOOST_CHECK_EQUAL(( icl::contains(IntervalT(t_0, t_1), t_0) + || icl::contains(IntervalT(t_0, t_1), t_1)), true); + + BOOST_CHECK_EQUAL(IntervalT(t_0, t_1).lower(), t_0); + BOOST_CHECK_EQUAL(IntervalT(t_0, t_1).upper(), t_1); + BOOST_CHECK_EQUAL(lower(icl::construct<IntervalT>(t_0, t_1)), t_0); + BOOST_CHECK_EQUAL(upper(icl::construct<IntervalT>(t_0, t_1)), t_1); +} + + +template <class IntervalT> +void singelizable_interval_4_ordered_types() +{ + // Singleton ctor and singleness + // LAW: !is_asymmetric_continuous(IntervalT) => size(singleton(x))==1 + // LAW: This law applies to all discrete and to dynamic continuous intervals + // LAW: No singletons can be constructed for static continuous right_open and left_open intervals + typedef typename domain_type_of<interval_traits<IntervalT> >::type T; + typedef typename icl::size_type_of<T>::type SizeT; + T t_0 = icl::identity_element<T>::value(); + T t_1 = icl::unit_element<T>::value(); + SizeT s_1 = icl::unit_element<SizeT>::value(); + + BOOST_CHECK( is_singelizable<IntervalT>::value ); + + BOOST_CHECK_EQUAL( icl::cardinality(icl::singleton<IntervalT>(t_0)), s_1 ); + BOOST_CHECK_EQUAL( icl::size(icl::singleton<IntervalT>(t_0)), s_1 ); + BOOST_CHECK_EQUAL( icl::cardinality(icl::singleton<IntervalT>(t_1)), s_1 ); + BOOST_CHECK_EQUAL( icl::size(icl::singleton<IntervalT>(t_1)), s_1 ); + + BOOST_CHECK_EQUAL( icl::contains(icl::singleton<IntervalT>(t_0), t_0), true ); + BOOST_CHECK_EQUAL( icl::contains(icl::singleton<IntervalT>(t_1), t_1), true ); +} + +template <class IntervalT> +void singelizable_interval_4_bicremental_types() +{ + typedef typename domain_type_of<interval_traits<IntervalT> >::type T; + typedef typename icl::size_type_of<T>::type SizeT; + //T t_0 = icl::identity_element<T>::value(); + SizeT s_1 = icl::unit_element<SizeT>::value(); + + BOOST_CHECK( is_singelizable<IntervalT>::value ); + + BOOST_CHECK_EQUAL( icl::cardinality(IntervalT(MK_v(3))), s_1 ); + BOOST_CHECK_EQUAL( icl::size(IntervalT(MK_v(4))), s_1 ); + BOOST_CHECK_EQUAL( icl::singleton<IntervalT>(MK_v(2)), icl::singleton<IntervalT>(MK_v(2)) ); + BOOST_CHECK_EQUAL( icl::contains(IntervalT(MK_v(1)), MK_v(1)), true ); +} + +template <class IntervalT> +void coverable_asymmetric_interval_4_bicremental_types() +{ + typedef typename domain_type_of<interval_traits<IntervalT> >::type T; + //CL typedef typename icl::size_type_of<T>::type SizeT; + typedef typename icl::difference_type_of<T>::type DiffT; + //T t_0 = icl::identity_element<T>::value(); + //SizeT s_1 = icl::unit_element<SizeT>::value(); + DiffT d_1 = icl::unit_element<DiffT>::value(); + + //JODO BOOST_CHECK( is_incremental_coverable<IntervalT>::value ); + BOOST_CHECK( has_difference<T>::value ); + + BOOST_CHECK_EQUAL( icl::contains(icl::detail::unit_trail<IntervalT>(MK_v(4)), MK_v(4)), true ); + BOOST_CHECK_EQUAL( icl::length (icl::detail::unit_trail<IntervalT>(MK_v(3))), d_1 ); + BOOST_CHECK ( icl::touches (icl::detail::unit_trail<IntervalT>(MK_v(2)), icl::detail::unit_trail<IntervalT>(MK_v(3))) ); +} + + + +#endif // BOOST_ICL_TEST_ICL_INTERVAL_HPP_JOFA_100930 diff --git a/src/boost/libs/icl/test/test_icl_interval_/test_icl_interval.cpp b/src/boost/libs/icl/test/test_icl_interval_/test_icl_interval.cpp new file mode 100644 index 00000000..fb9db038 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval_/test_icl_interval.cpp @@ -0,0 +1,192 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_interval_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_icl_interval_shared.hpp" +#include "../test_icl_interval.hpp" +#include "../test_icl_dynamic_interval.hpp" +#include "../test_icl_discrete_interval.hpp" +#include "../test_icl_continuous_interval.hpp" +#include "../test_icl_static_interval.hpp" + +#include <boost/icl/right_open_interval.hpp> +#include <boost/icl/left_open_interval.hpp> +#include <boost/icl/closed_interval.hpp> +#include <boost/icl/open_interval.hpp> + +#include <boost/icl/discrete_interval.hpp> +#include <boost/icl/continuous_interval.hpp> + +//- sta.asy.{dis|con} ---------------------------------------------------------- +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_right_open_interval_ctor_4_ordered_types, T, ordered_types) +{ interval_ctor_4_ordered_types<right_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_right_open_interval_4_ordered_types, T, discrete_types) +{ singelizable_interval_4_ordered_types<right_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_right_open_interval_4_bicremental_types, T, discrete_types) +{ singelizable_interval_4_bicremental_types<right_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_left_open_interval_ctor_4_ordered_types, T, ordered_types) +{ interval_ctor_4_ordered_types<left_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_left_open_interval_4_ordered_types_singelizable, T, signed_discrete_types) +{ singelizable_interval_4_ordered_types<left_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_left_open_interval_4_bicremental_types, T, discrete_types) +{ singelizable_interval_4_bicremental_types<left_open_interval<T> >(); } + +//------------------------------------------------------------------------------ + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_distant_intervals_4_discrete_types, T, discrete_types) +{ distant_intervals_4_discrete_types<T, std::less>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_distant_intervals_4_numeric_continuous_types, T, numeric_continuous_types) +{ distant_intervals_4_numeric_continuous_types<T, std::less>(); } + + +//- sta.asy.{dis|con} ---------------------------------------------------------- +//- n tests for right_open_inverval -------------------------------------------- +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_right_open_interval_ctor_4_ordered_types, T, ordered_types) +{ interval_ctor_4_ordered_types<right_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_right_open_interval_4_ordered_types, T, discrete_types) +{ singelizable_interval_4_ordered_types<right_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_right_open_interval_4_bicremental_types, T, discrete_types) +{ singelizable_interval_4_bicremental_types<right_open_interval<T> >(); } + +//- n tests for left_open_inverval --------------------------------------------- +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_left_open_interval_ctor_4_ordered_types, T, ordered_types) +{ interval_ctor_4_ordered_types<left_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_left_open_interval_4_ordered_types_singelizable, T, signed_discrete_types) +{ singelizable_interval_4_ordered_types<left_open_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_left_open_interval_4_bicremental_types, T, discrete_types) +{ singelizable_interval_4_bicremental_types<left_open_interval<T> >(); } + +//- dyn.dis -------------------------------------------------------------------- +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_discrete_interval_ctor_4_discrete_types_base, T, discrete_types) +{ interval_ctor_4_ordered_types<discrete_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_discrete_interval_ctor_4_discrete_types_dynamic, T, discrete_types) +{ dynamic_interval_ctor_4_ordered_types<discrete_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_discrete_interval_4_ordered_types, T, discrete_types) +{ singelizable_interval_4_ordered_types<discrete_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_discrete_interval_4_bicremental_types, T, discrete_types) +{ singelizable_interval_4_bicremental_types<discrete_interval<T> >(); } + +//- dyn.con -------------------------------------------------------------------- +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_continuous_interval_ctor_4_continuous_types_base, T, continuous_types) +{ interval_ctor_4_ordered_types<continuous_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_continuous_interval_ctor_4_continuous_types_dynamic, T, continuous_types) +{ dynamic_interval_ctor_4_ordered_types<continuous_interval<T> >(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_continuous_interval_4_continuous_types_singelizable, T, continuous_types) +{ singelizable_interval_4_ordered_types<continuous_interval<T> >(); } + +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_distant_intervals_4_discrete_types, T, discrete_types) +{ distant_intervals_4_discrete_types<T, std::less>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_distant_intervals_4_numeric_continuous_types, T, numeric_continuous_types) +{ distant_intervals_4_numeric_continuous_types<T, std::less>(); } + +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_dynamic_interval_bounds_4_bicremental_types, T, bicremental_types) +{ dynamic_interval_bounds_4_bicremental_types<T>(); } + +//============================================================================== +//============================================================================== +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_equal_4_integral_types, T, integral_types) +{ interval_equal_4_integral_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_less_4_integral_types, T, integral_types) +{ interval_less_4_integral_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_touches_4_bicremental_types, T, bicremental_types) +{ interval_touches_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_touches_4_integral_types, T, integral_types) +{ interval_touches_4_integral_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_subtract_4_bicremental_types, T, bicremental_types) +{ interval_subtract_4_bicremental_types<T>(); } + +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_ctor_specific) +{ interval_ctor_specific(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_equal_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_equal_4_bicremental_continuous_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_infix_intersect_4_bicremental_types, T, bicremental_types) +{ interval_infix_intersect_4_bicremental_types<T>(); } + +#else + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_infix_intersect_4_bicremental_types, T, discrete_types) +{ interval_infix_intersect_4_bicremental_types<T>(); } + +#endif // ndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + + + diff --git a/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj b/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj new file mode 100644 index 00000000..187ef23c --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}</ProjectGuid> + <RootNamespace>Test_itl_interval</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_icl_interval.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj.filters b/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj.filters new file mode 100644 index 00000000..47d68c84 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval_/vc10_test_icl_interval.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_icl_interval.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_icl_interval_/vc9_test_icl_interval.vcproj b/src/boost/libs/icl/test/test_icl_interval_/vc9_test_icl_interval.vcproj new file mode 100644 index 00000000..ff0b2936 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval_/vc9_test_icl_interval.vcproj @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_icl_interval" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}" + RootNamespace="Test_itl_interval" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_icl_interval.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_icl_interval_shared.hpp b/src/boost/libs/icl/test/test_icl_interval_shared.hpp new file mode 100644 index 00000000..bef5faac --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_interval_shared.hpp @@ -0,0 +1,302 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_ICL_interval_shared_hpp_JOFA_100306__ +#define LIBS_ICL_TEST_TEST_ICL_interval_shared_hpp_JOFA_100306__ + +#include <boost/icl/interval_set.hpp> + +template <class DomainT, ICL_COMPARE Compare, + ICL_INTERVAL(ICL_COMPARE) Interval> +void test_inner_complement(const ICL_INTERVAL_TYPE(Interval,DomainT,Compare)& itv1, + const ICL_INTERVAL_TYPE(Interval,DomainT,Compare)& itv2) +{ + typedef interval_set<DomainT,Compare,Interval> ItvSetT; + typedef ICL_INTERVAL_TYPE(Interval,DomainT,Compare) IntervalT; + + BOOST_CHECK_EQUAL(icl::length(inner_complement(itv1,itv2)), icl::distance(itv1,itv2)); + BOOST_CHECK_EQUAL(icl::length(inner_complement(itv1,itv2)), icl::distance(itv2,itv1)); + BOOST_CHECK_EQUAL(icl::length(inner_complement(itv2,itv1)), icl::distance(itv1,itv2)); + BOOST_CHECK_EQUAL(icl::length(inner_complement(itv2,itv1)), icl::distance(itv2,itv1)); + + IntervalT in_comp = inner_complement(itv1,itv2); + ItvSetT itvset, inner_comp; + itvset.add(itv1).add(itv2); + ItvSetT hullset = ItvSetT(hull(itvset)); + inner_comp = hullset - itvset; + IntervalT inner_comp_itv; + if(inner_comp.begin() != inner_comp.end()) + inner_comp_itv = *inner_comp.begin(); + + BOOST_CHECK_EQUAL(inner_complement(itv1,itv2), inner_comp_itv); + BOOST_CHECK_EQUAL(inner_complement(itv2,itv1), inner_comp_itv); + BOOST_CHECK_EQUAL(icl::length(inner_comp), icl::distance(itv1,itv2)); + BOOST_CHECK_EQUAL(icl::length(inner_comp), icl::distance(itv2,itv1)); + + BOOST_CHECK(icl::disjoint(itv1, in_comp)); + BOOST_CHECK(icl::disjoint(itv2, in_comp)); + + IntervalT itv1_comp = hull(itv1, in_comp); + IntervalT itv2_comp = hull(itv2, in_comp); + + if(!icl::is_empty(in_comp)) + { + BOOST_CHECK(icl::intersects(itv1_comp, in_comp)); + BOOST_CHECK(icl::intersects(itv2_comp, in_comp)); + + BOOST_CHECK_EQUAL(itv1_comp & itv2_comp, in_comp); + BOOST_CHECK_EQUAL( icl::is_empty(itv1_comp & itv2_comp), icl::disjoint(itv1_comp, itv2_comp)); + BOOST_CHECK_EQUAL(!icl::is_empty(itv1_comp & itv2_comp), icl::intersects(itv1_comp, itv2_comp)); + } +} + +template <class IntervalT> +void test_inner_complement_(const IntervalT& itv1, const IntervalT& itv2) +{ + typedef typename interval_traits<IntervalT>::domain_type DomainT; + // For the test of plain interval types we assume that std::less is + // the compare functor + test_inner_complement<DomainT, std::less, IntervalT>(itv1, itv2); +} + +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + +void interval_ctor_specific() +{ + BOOST_CHECK_EQUAL(icl::length(icl::interval<double>::type()), 0.0); + BOOST_CHECK_EQUAL(icl::cardinality(icl::interval<double>::closed(5.0, 5.0)), 1); + BOOST_CHECK_EQUAL(icl::cardinality(icl::interval<std::string>::closed("test", "test")), 1); + BOOST_CHECK_EQUAL(icl::cardinality(icl::interval<std::string>::closed("best","test")), + icl::cardinality(icl::interval<double>::closed(0.0,0.1))); + BOOST_CHECK_EQUAL(icl::cardinality(icl::interval<std::string>::right_open("best","test")), + icl::infinity<size_type_of<icl::interval<std::string>::type>::type >::value() ); + BOOST_CHECK_EQUAL(icl::cardinality(icl::interval<double>::right_open(0.0, 1.0)), + icl::infinity<size_type_of<icl::interval<double>::type>::type >::value() ); +} + +#endif // ndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + +template <class T> +void interval_equal_4_integral_types() +{ + typedef typename icl::interval<T>::type IntervalT; + T v2 = make<T>(2); + T v3 = make<T>(3); + T v7 = make<T>(7); + T v8 = make<T>(8); + BOOST_CHECK_EQUAL(IntervalT(), IntervalT(v7,v3)); + + //I: (I)nside = closed bound + //C: left open bound + //D: right open bound + IntervalT I3_7I = icl::interval<T>::closed(v3,v7); + IntervalT I3__8D = icl::interval<T>::right_open(v3,v8); + IntervalT C2__7I = icl::interval<T>::left_open(v2,v7); + IntervalT C2___8D = icl::interval<T>::open(v2,v8); + + BOOST_CHECK_EQUAL( I3_7I , I3_7I ); + BOOST_CHECK_EQUAL( I3_7I , I3__8D ); + BOOST_CHECK_EQUAL( I3_7I , C2__7I ); + BOOST_CHECK_EQUAL( I3_7I , C2___8D ); + + BOOST_CHECK_EQUAL( I3__8D, I3__8D ); + BOOST_CHECK_EQUAL( I3__8D, C2__7I ); + BOOST_CHECK_EQUAL( I3__8D, C2___8D ); + + BOOST_CHECK_EQUAL( C2__7I , C2__7I ); + BOOST_CHECK_EQUAL( C2__7I , C2___8D ); + + BOOST_CHECK_EQUAL( C2___8D, C2___8D ); +} + +template <class T> +void interval_less_4_integral_types() +{ + typedef typename icl::interval<T>::type IntervalT; + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v7 = make<T>(7); + T v8 = make<T>(8); + BOOST_CHECK_EQUAL(IntervalT() < IntervalT(v7,v3), false); + BOOST_CHECK_EQUAL(icl::interval<T>::open(v2,v3) < icl::interval<T>::right_open(v7,v7), false); + BOOST_CHECK_EQUAL(icl::interval<T>::left_open(v3,v3) < icl::interval<T>::closed(v7,v3), false); + + BOOST_CHECK_EQUAL(IntervalT() < IntervalT(v3,v4), true); + BOOST_CHECK_EQUAL(icl::interval<T>::open(v2,v3) < icl::interval<T>::right_open(v7,v8), true); + + //I: (I)nside = closed bound + //C: left open bound + //D: right open bound + IntervalT I3_7I = icl::interval<T>::closed(v3,v7); + IntervalT I4_7I = icl::interval<T>::closed(v4,v7); + + IntervalT I3__8D = icl::interval<T>::right_open(v3,v8); + IntervalT C2__7I = icl::interval<T>::left_open(v2,v7); + IntervalT C2___8D = icl::interval<T>::open(v2,v8); + + BOOST_CHECK_EQUAL( I3_7I < I3_7I , false); + BOOST_CHECK_EQUAL( I3_7I < I3__8D , false); + BOOST_CHECK_EQUAL( I3_7I < C2__7I , false); + BOOST_CHECK_EQUAL( I3_7I < C2___8D , false); + + BOOST_CHECK_EQUAL( I3_7I < I4_7I , true); + + + BOOST_CHECK_EQUAL( I3__8D< I3__8D , false); + BOOST_CHECK_EQUAL( I3__8D< C2__7I , false); + BOOST_CHECK_EQUAL( I3__8D< C2___8D , false); + + BOOST_CHECK_EQUAL( C2__7I < C2__7I , false); + BOOST_CHECK_EQUAL( C2__7I < C2___8D , false); + + BOOST_CHECK_EQUAL( C2___8D< C2___8D , false); +} + +template <class T> +void interval_equal_4_bicremental_continuous_types() +{ + typedef typename icl::interval<T>::type IntervalT; + T v3 = make<T>(3); + T v7 = make<T>(7); + BOOST_CHECK_EQUAL(IntervalT(), IntervalT(v7,v3)); + + //I: (I)nside = closed bound + //O: (O)utside = open bound + IntervalT I3_7I = icl::interval<T>::closed(v3,v7); + IntervalT I3_7D = icl::interval<T>::right_open(v3,v7); + IntervalT C3_7I = icl::interval<T>::left_open(v3,v7); + IntervalT C3_7D = icl::interval<T>::open(v3,v7); + + BOOST_CHECK_EQUAL( I3_7I , I3_7I ); + BOOST_CHECK_EQUAL( I3_7I == I3_7D, false ); + BOOST_CHECK_EQUAL( I3_7I == C3_7D, false ); + BOOST_CHECK_EQUAL( I3_7I == C3_7D, false ); + BOOST_CHECK_EQUAL( I3_7I != I3_7D, true ); + BOOST_CHECK_EQUAL( I3_7I != C3_7D, true ); + BOOST_CHECK_EQUAL( I3_7I != C3_7D, true ); + + BOOST_CHECK_EQUAL( I3_7D , I3_7D ); + BOOST_CHECK_EQUAL( I3_7D == C3_7I, false ); + BOOST_CHECK_EQUAL( I3_7D == C3_7D, false ); + BOOST_CHECK_EQUAL( I3_7D != C3_7I, true ); + BOOST_CHECK_EQUAL( I3_7D != C3_7D, true ); + + BOOST_CHECK_EQUAL( C3_7I , C3_7I ); + BOOST_CHECK_EQUAL( C3_7I == C3_7D, false ); + BOOST_CHECK_EQUAL( C3_7I != C3_7D, true ); + + BOOST_CHECK_EQUAL( C3_7D, C3_7D ); +} + +template <class T> +void interval_touches_4_bicremental_types() +{ + typedef typename icl::interval<T>::type IntervalT; + T v3 = make<T>(3); + T v7 = make<T>(7); + T v9 = make<T>(9); + + IntervalT I3_7D = icl::interval<T>::right_open(v3,v7); + IntervalT I7_9I = icl::interval<T>::closed(v7,v9); + BOOST_CHECK_EQUAL( icl::touches(I3_7D, I7_9I), true ); + + IntervalT I3_7I = icl::interval<T>::closed(v3,v7); + IntervalT C7_9I = icl::interval<T>::left_open(v7,v9); + BOOST_CHECK_EQUAL( icl::touches(I3_7I, C7_9I), true ); + + BOOST_CHECK_EQUAL( icl::touches(I3_7D, C7_9I), false ); + BOOST_CHECK_EQUAL( icl::touches(I3_7I, I7_9I), false ); +} + +template <class T> +void interval_touches_4_integral_types() +{ + typedef typename icl::interval<T>::type IntervalT; + T v3 = make<T>(3); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v9 = make<T>(9); + + IntervalT I3_6I = icl::interval<T>::closed(v3,v6); + IntervalT I7_9I = icl::interval<T>::closed(v7,v9); + BOOST_CHECK_EQUAL( icl::touches(I3_6I, I7_9I), true ); + + IntervalT I3_7D = icl::interval<T>::right_open(v3,v7); + IntervalT C6_9I = icl::interval<T>::left_open(v6,v9); + BOOST_CHECK_EQUAL( icl::touches(I3_7D, C6_9I), true ); +} + +template <class T> +void interval_infix_intersect_4_bicremental_types() +{ + typedef typename icl::interval<T>::type IntervalT; + + IntervalT section; + IntervalT I3_7D = I_D(3,7); + + IntervalT I0_3D = I_D(0,3); + section = I3_7D & I0_3D; + BOOST_CHECK_EQUAL( icl::disjoint(I0_3D, I3_7D), true ); + BOOST_CHECK_EQUAL( icl::is_empty(section), true ); + BOOST_CHECK_EQUAL( section, IntervalT() ); + + IntervalT I0_5D = I_D(0,5); + section = I3_7D & I0_5D; + BOOST_CHECK_EQUAL( section, I_D(3,5) ); + + IntervalT I0_9D = I_D(0,9); + section = I3_7D & I0_9D; + BOOST_CHECK_EQUAL( section, I3_7D ); + + IntervalT I4_5I = I_I(4,5); + section = I3_7D & I4_5I; + BOOST_CHECK_EQUAL( section, I4_5I ); + + IntervalT C4_6D = C_D(4,6); + section = I3_7D & C4_6D; + BOOST_CHECK_EQUAL( section, C4_6D ); + + IntervalT C4_9I = C_I(4,9); + section = I3_7D & C4_9I; + BOOST_CHECK_EQUAL( section, C_D(4,7) ); + + IntervalT I7_9I = I_I(7,9); + section = I3_7D & I7_9I; + BOOST_CHECK_EQUAL( icl::exclusive_less(I3_7D, I7_9I), true ); + BOOST_CHECK_EQUAL( icl::disjoint(I3_7D, I7_9I), true ); + BOOST_CHECK_EQUAL( icl::is_empty(section), true ); +} + +template <class T> +void interval_subtract_4_bicremental_types() +{ + typedef typename icl::interval<T>::type IntervalT; + + IntervalT diff_1, diff_2; + IntervalT I0_3D = I_D(0,3); + IntervalT I2_6D = I_D(2,6); + IntervalT I4_7D = I_D(4,7); + IntervalT I6_7D = I_D(6,7); + IntervalT I2_4D = I_D(2,4); + + diff_1 = right_subtract(I2_6D, I4_7D); + BOOST_CHECK_EQUAL( diff_1, I2_4D ); + + diff_1 = right_subtract(I0_3D, I4_7D); + BOOST_CHECK_EQUAL( diff_1, I0_3D ); + + // --------------------------------- + diff_1 = left_subtract(I4_7D, I2_6D); + BOOST_CHECK_EQUAL( diff_1, I6_7D ); + + diff_1 = left_subtract(I4_7D, I0_3D); + BOOST_CHECK_EQUAL( diff_1, I4_7D ); +} + + +#endif // LIBS_ICL_TEST_TEST_ICL_interval_shared_hpp_JOFA_100306__ diff --git a/src/boost/libs/icl/test/test_icl_map.hpp b/src/boost/libs/icl/test/test_icl_map.hpp new file mode 100644 index 00000000..f16c1100 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map.hpp @@ -0,0 +1,186 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_ICL_MAP_HPP_JOFA_090119 +#define LIBS_ICL_TEST_TEST_ICL_MAP_HPP_JOFA_090119 + +#include "portability.hpp" + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_map_contains_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + //CL typedef std::set<T> SetT; + typedef typename MapT::element_type map_element_type; + + IntervalMapT itv_map_a; + itv_map_a.add(IDv(2,4,1)).add(IIv(6,7,3)); + + MapT map_a; + segmental::atomize(map_a, itv_map_a); + + BOOST_CHECK_EQUAL( contains(map_a, MK_v(3)), true ); + BOOST_CHECK_EQUAL( within(MK_v(3), map_a), true ); + + map_element_type key_value_pair(MK_v(6), MK_u(3)); + BOOST_CHECK( contains(map_a, key_value_pair) ); + BOOST_CHECK( within(key_value_pair, map_a) ); + +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_map_find_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a; + itv_map_a.add(IDv(2,4,1)).add(IIv(6,7,3)); + + MapT map_a; + segmental::atomize(map_a, itv_map_a); + + typename MapT::const_iterator found = map_a.find(MK_v(6)); + + BOOST_CHECK_EQUAL( found->second, MK_u(3) ); + BOOST_CHECK_EQUAL( map_a(MK_v(6)), MK_u(3) ); + + found = map_a.find(MK_v(5)); + + BOOST_CHECK_EQUAL( found == map_a.end(), true ); + BOOST_CHECK_EQUAL( map_a(MK_v(5)), MK_u(0) ); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_map_inclusion_compare_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + typedef std::set<T> SetT; + + IntervalMapT itv_map_sub_a, itv_map_a, itv_map_super_a, + itv_map_b, itv_map_c; + itv_map_sub_a.add(IDv(2,4,1)).add(IIv(6,7,3)); + itv_map_a = itv_map_sub_a; + itv_map_a.add(IIv(9,9,1)); + itv_map_c = itv_map_sub_a; + itv_map_c.erase(MK_v(7)).add(IIv(11,11,2)); + itv_map_b = itv_map_a; + itv_map_b.set(IIv(6,7,2)); + + MapT map_sub_a, map_a, map_a2, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + segmental::atomize(map_sub_a, itv_map_sub_a); + + map_a2 = map_a; + BOOST_CHECK_EQUAL( inclusion_compare(MapT(), MapT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_a2), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(map_a, MapT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_sub_a), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(MapT(), map_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(map_sub_a, map_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_b), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(map_a, map_c), inclusion::unrelated ); + + SetT set_sub_a, set_a, set_a2, set_b, set_c; + icl::domain(set_a, map_a); + icl::domain(set_a2, map_a2); + icl::domain(set_sub_a, map_sub_a); + + BOOST_CHECK_EQUAL( inclusion_compare(MapT(), SetT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(SetT(), MapT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(SetT(), SetT()), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(map_a, set_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, map_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, set_a2), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(map_a, SetT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(map_a, set_sub_a), inclusion::superset ); + + BOOST_CHECK_EQUAL( inclusion_compare(SetT(), map_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_sub_a, map_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(set_a, SetT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, set_sub_a), inclusion::superset ); + + BOOST_CHECK_EQUAL( inclusion_compare(SetT(), set_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_sub_a, set_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(set_a, map_c), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(map_c, set_a), inclusion::unrelated ); + +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_map_move_4_discrete_types() +{ + typedef icl::map<T,U,Trt> MapT; + typedef typename MapT::element_type map_element_type; + + map_element_type kv_6_3(MK_v(6), MK_u(3)); + + MapT map_b; + map_b.add(kv_6_3); + MapT mv_cons_1(boost::move(MapT().add(kv_6_3))); + MapT cp_cons_1(map_b); + + BOOST_CHECK_EQUAL( mv_cons_1, cp_cons_1 ); + BOOST_CHECK_EQUAL( map_b, cp_cons_1 ); + + MapT mv_ass_1, cp_ass_1; + mv_ass_1 = boost::move(MapT().add(kv_6_3)); + cp_ass_1 = map_b; + + BOOST_CHECK_EQUAL( mv_ass_1, cp_ass_1 ); + BOOST_CHECK_EQUAL( map_b, cp_ass_1 ); +} + + +#endif // LIBS_ICL_TEST_TEST_ICL_MAP_HPP_JOFA_090119 + diff --git a/src/boost/libs/icl/test/test_icl_map_/test_icl_map.cpp b/src/boost/libs/icl/test/test_icl_map_/test_icl_map.cpp new file mode 100644 index 00000000..f4334596 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map_/test_icl_map.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::icl_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/map.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_icl_map.hpp" + +#define INTERVAL_MAP interval_map +#include "test_icl_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_icl_map_/test_icl_map_cases.hpp b/src/boost/libs/icl/test/test_icl_map_/test_icl_map_cases.hpp new file mode 100644 index 00000000..b5d45335 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map_/test_icl_map_cases.hpp @@ -0,0 +1,23 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_icl_map_find_4_bicremental_types, T, discrete_types) +{ icl_map_find_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_icl_map_inclusion_compare_4_bicremental_types, T, discrete_types) +{ icl_map_inclusion_compare_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(test_icl_icl_map_move_4_discrete_types) +{ icl_map_move_4_discrete_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();} + +#endif // BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701 diff --git a/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj b/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj new file mode 100644 index 00000000..b7d3c4de --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}</ProjectGuid> + <RootNamespace>Test_itl_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_icl_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj.filters b/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj.filters new file mode 100644 index 00000000..a78be60f --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map_/vc10_test_icl_map.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_icl_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_icl_map_/vc9_test_icl_map.vcproj b/src/boost/libs/icl/test/test_icl_map_/vc9_test_icl_map.vcproj new file mode 100644 index 00000000..202ade3a --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_map_/vc9_test_icl_map.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_icl_map" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}" + RootNamespace="Test_itl_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_icl_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_icl_quantifier_shared.hpp b/src/boost/libs/icl/test/test_icl_quantifier_shared.hpp new file mode 100644 index 00000000..7d19509b --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_quantifier_shared.hpp @@ -0,0 +1,308 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_ICL_QUANTIFIER_SHARED_HPP_JOFA_100819 +#define LIBS_ICL_TEST_TEST_ICL_QUANTIFIER_SHARED_HPP_JOFA_100819 + +#include "portability.hpp" + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void make_3_icl_maps_and_derivatives_1 + (icl::map<T,U,Trt>& map_a, + icl::map<T,U,Trt>& map_b, + icl::map<T,U,Trt>& map_c, + std::pair<T,U>& map_pair_a, + std::pair<T,U>& map_pair_b, + ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)*) +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + map_pair_a = sK_v(5,1); + map_pair_b = sK_v(9,1); + + add(map_a, sK_v(3,1)); + add(map_a, sK_v(4,1)); + add(map_a, sK_v(5,1)); + add(map_a, sK_v(5,1)); + add(map_a, sK_v(6,1)); + add(map_a, sK_v(7,1)); + + add(map_b, sK_v(2,1)); + add(map_b, sK_v(8,1)); + + add(map_c, sK_v(0,2)); + add(map_c, sK_v(1,2)); + add(map_c, sK_v(2,2)); + add(map_c, sK_v(3,2)); + add(map_c, sK_v(4,2)); + add(map_c, sK_v(5,2)); + add(map_c, sK_v(6,2)); + add(map_c, sK_v(7,2)); + add(map_c, sK_v(8,2)); + + add(map_c, sK_v(3,1)); + add(map_c, sK_v(4,1)); + add(map_c, sK_v(5,1)); + add(map_c, sK_v(6,1)); + + add(map_c, sK_v(5,1)); + add(map_c, sK_v(6,1)); +} + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair_a, map_pair_b); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, map_pair_a, map_pair_b); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair_a, map_pair_b); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, map_pair_a, map_pair_b); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair_a, map_pair_b); +} + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid with distinct equality for inversion +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus)(map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe)(map_a, map_b, map_c, map_pair_a, map_pair_b); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(plus)(is_distinct_equal, map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(pipe)(is_distinct_equal, map_a, map_b, map_c, map_pair_a, map_pair_b); +#endif +} + + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_abelian_group_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_ABELIAN_GROUP_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_GROUP_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair_a, map_pair_b); +} + +//------------------------------------------------------------------------------ +// (0 - x) + x =d= 0 +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types() +{ + // check abelian group wrt. + and inverability wrt. distinct equality =d= : + // (1) (IntervalMapT, +) is an abelian group and + // (2) The inverability law: (0 - x) + x =d= 0 holds. + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair_a, map_pair_b); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(plus) (is_distinct_equal, map_a, map_b, map_c, map_pair_a, map_pair_b); + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_distinct_equal, map_a, map_b, map_c, map_pair_a, map_pair_b); +#endif +} + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void icl_quantifier_check_containedness_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + IntervalMapT aux; + MapT map_a, map_b, map_c; + std::pair<T,U> map_pair_a, map_pair_b; + make_3_icl_maps_and_derivatives_1(map_a, map_b, map_c, map_pair_a, map_pair_b, &aux); + + check_intersection_containedness(map_a, map_c); + check_intersection_containedness(map_c, map_pair_a); + + check_union_containedness(map_a, map_c); + check_union_containedness(map_c, map_pair_a); + + check_domain_containedness(map_a); +} + + +#endif // LIBS_ICL_TEST_TEST_ICL_QUANTIFIER_SHARED_HPP_JOFA_100819 diff --git a/src/boost/libs/icl/test/test_icl_static_interval.hpp b/src/boost/libs/icl/test/test_icl_static_interval.hpp new file mode 100644 index 00000000..663f5641 --- /dev/null +++ b/src/boost/libs/icl/test/test_icl_static_interval.hpp @@ -0,0 +1,24 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930 +#define BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930 + +template <class T, class IntervalT> +void static_interval_ctor_4_ordered_types() +{ + BOOST_CHECK_EQUAL(icl::is_empty(IntervalT()), true); + BOOST_CHECK_EQUAL(icl::cardinality(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value()); + BOOST_CHECK_EQUAL(icl::size(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value()); + + BOOST_CHECK_EQUAL( IntervalT(), IntervalT() ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(IntervalT().lower(), IntervalT().upper()) ); + BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) ); +} + + +#endif // BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930 diff --git a/src/boost/libs/icl/test/test_interval_cases.hpp b/src/boost/libs/icl/test/test_interval_cases.hpp new file mode 100644 index 00000000..5ff51224 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_cases.hpp @@ -0,0 +1,19 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef __test_IntervalT_hpp_JOFA_100401__ +#define __test_IntervalT_hpp_JOFA_100401__ + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_ctor_4_ordered_types, T, ORDERED_TYPES) +{ interval_ctor_4_ordered_types<T, std::less, INTERVAL>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_ctor_4_bicremental_types, T, BICREMENTAL_TYPES) +{ interval_ctor_4_bicremental_types<T, std::less, INTERVAL>();} + +#endif // __test_IntervalT_hpp_JOFA_100401__ diff --git a/src/boost/libs/icl/test/test_interval_laws.hpp b/src/boost/libs/icl/test/test_interval_laws.hpp new file mode 100644 index 00000000..587588ef --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_laws.hpp @@ -0,0 +1,84 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2010-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------+ +Function templates to call functions in object oriented or namespace glabal +versions. ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_LIBS_ICL_TEST_INTERVAL_LAWS_HPP_JOFA_101011 +#define BOOST_LIBS_ICL_TEST_INTERVAL_LAWS_HPP_JOFA_101011 + +#include <boost/icl/detail/notate.hpp> +#include <boost/icl/detail/design_config.hpp> +#include <boost/icl/type_traits/interval_type_default.hpp> +#include <boost/icl/interval.hpp> +#include <boost/icl/type_traits/is_interval.hpp> +#include <boost/icl/concept/interval.hpp> + +namespace boost{ namespace icl +{ + +template<class Type> +typename enable_if<is_interval<Type>, void>::type +check_border_containedness(const Type& itv) +{ + typedef typename interval_traits<Type>::domain_type domain_type; + domain_type lo = icl::lower(itv); + domain_type up = icl::upper(itv); + + //LAW: The empty set is contained in every set + BOOST_CHECK_EQUAL(icl::contains(itv, icl::identity_element<Type>::value()), true); + //LAW: Reflexivity: Every interval contains itself + BOOST_CHECK_EQUAL(icl::contains(itv, itv), true); + + if(icl::bounds(itv) == interval_bounds::closed()) + { + BOOST_CHECK_EQUAL(icl::contains(itv, lo), true); + BOOST_CHECK_EQUAL(icl::contains(itv, up), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: closed(lo,up)), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>::right_open(lo,up)), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: left_open(lo,up)), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: open(lo,up)), true); + } + else if(icl::bounds(itv) == interval_bounds::right_open()) + { + BOOST_CHECK_EQUAL(icl::contains(itv, lo), true); + BOOST_CHECK_EQUAL(icl::contains(itv, up), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: closed(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>::right_open(lo,up)), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: left_open(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: open(lo,up)), true); + } + else if(icl::bounds(itv) == interval_bounds::left_open()) + { + BOOST_CHECK_EQUAL(icl::contains(itv, lo), false); + BOOST_CHECK_EQUAL(icl::contains(itv, up), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: closed(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>::right_open(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: left_open(lo,up)), true); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: open(lo,up)), true); + } + else if(icl::bounds(itv) == interval_bounds::open()) + { + BOOST_CHECK_EQUAL(icl::contains(itv, lo), false); + BOOST_CHECK_EQUAL(icl::contains(itv, up), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: closed(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>::right_open(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: left_open(lo,up)), false); + BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: open(lo,up)), true); + } + else + { + bool interval_borders_are_open_v_left_open_v_right_open_v_closed = true; + BOOST_CHECK_EQUAL(interval_borders_are_open_v_left_open_v_right_open_v_closed, false); + } +} + +}} // namespace boost icl + +#endif // BOOST_ICL_TEST_INTERVAL_LAWS_HPP_JOFA_100908 diff --git a/src/boost/libs/icl/test/test_interval_map_/test_interval_map.cpp b/src/boost/libs/icl/test/test_interval_map_/test_interval_map.cpp new file mode 100644 index 00000000..2b41e8e6 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_/test_interval_map.cpp @@ -0,0 +1,38 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_functions.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_map_shared are tests that should give identical results for all +// interval_maps: interval_map and split_interval_map. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_interval_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj b/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj new file mode 100644 index 00000000..cfbc7054 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}</ProjectGuid> + <RootNamespace>Test_interval_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj.filters b/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj.filters new file mode 100644 index 00000000..34d88cb3 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_/vc10_test_interval_map.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_/vc9_test_interval_map.vcproj b/src/boost/libs/icl/test/test_interval_map_/vc9_test_interval_map.vcproj new file mode 100644 index 00000000..0500e2fa --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_/vc9_test_interval_map.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_map" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}" + RootNamespace="Test_interval_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_map_cases.hpp b/src/boost/libs/icl/test/test_interval_map_cases.hpp new file mode 100644 index 00000000..a1fad6f3 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_cases.hpp @@ -0,0 +1,92 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_INTERVAL_MAP_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_INTERVAL_MAP_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_fundamentals_4_ordered_types, T, ordered_types) +{ interval_map_fundamentals_4_ordered_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_ctor_4_bicremental_types, T, bicremental_types) +{ interval_map_ctor_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_map_add_sub_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_types, T, bicremental_types) +{ interval_map_distinct_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_distinct_4_bicremental_continuous_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_isolate_4_bicremental_continuous_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_contains_4_bicremental_types, T, bicremental_types) +{ interval_map_contains_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_contains_key_objects_4_bicremental_types, T, bicremental_types) +{ interval_map_contains_key_objects_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_operators_4_bicremental_types, T, bicremental_types) +{ interval_map_operators_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_map_base_intersect_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_erase_4_bicremental_types, T, bicremental_types) +{ interval_map_base_erase_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_is_disjoint_4_bicremental_types, T, bicremental_types) +{ interval_map_base_is_disjoint_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_flip_4_bicremental_types, T, bicremental_types) +{ interval_map_flip_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_find_4_bicremental_types, T, bicremental_types) +{ interval_map_find_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_find_4_numeric_continuous_types, T, numeric_continuous_types) +{ interval_map_find_4_numeric_continuous_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_range_4_bicremental_types, T, bicremental_types) +{ interval_map_range_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_set_4_bicremental_types, T, bicremental_types) +{ interval_map_set_4_bicremental_types<INTERVAL_MAP, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_inclusion_compare_4_bicremental_types, T, bicremental_types) +{ interval_map_inclusion_compare_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_std_copy_via_inserter_4_bicremental_types, T, bicremental_types) +{ interval_map_std_copy_via_inserter_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_element_iter_4_discrete_types, T, discrete_types) +{ interval_map_element_iter_4_discrete_types<T, int, partial_absorber, INTERVAL_MAP>();} + +#endif // BOOST_ICL_TEST_INTERVAL_MAP_CASES_HPP_JOFA_090701 + diff --git a/src/boost/libs/icl/test/test_interval_map_infix_/test_interval_map_infix.cpp b/src/boost/libs/icl/test/test_interval_map_infix_/test_interval_map_infix.cpp new file mode 100644 index 00000000..b5905350 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_/test_interval_map_infix.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_map_shared are tests that should give identical results for all +// interval_maps: interval_map and split_interval_map. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_interval_map_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj b/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj new file mode 100644 index 00000000..104164d8 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}</ProjectGuid> + <RootNamespace>Test_interval_map_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj.filters b/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj.filters new file mode 100644 index 00000000..0f026dec --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_/vc10_test_interval_map_infix.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj b/src/boost/libs/icl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj new file mode 100644 index 00000000..45a59284 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_map_infix" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}" + RootNamespace="Test_interval_map_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_map_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_map_infix_cases.hpp b/src/boost/libs/icl/test/test_interval_map_infix_cases.hpp new file mode 100644 index 00000000..9865dce5 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_cases.hpp @@ -0,0 +1,32 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 +#define BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_infix_plus_overload_4_bicremental_types) +{ interval_map_infix_plus_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_infix_pipe_overload_4_bicremental_types) +{ interval_map_infix_pipe_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_2, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_infix_minus_overload_4_bicremental_types) +{ interval_map_infix_minus_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_infix_et_overload_4_bicremental_types) +{ interval_map_infix_et_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_4, int>();} + +BOOST_AUTO_TEST_CASE +(fastest_icl_interval_map_infix_caret_overload_4_bicremental_types) +{ interval_map_infix_caret_overload_4_bicremental_types<INTERVAL_MAP, bicremental_type_5, int>();} + +#endif // BOOST_ICL_FASTEST_INTERVAL_MAP_INFIX_CASES_HPP_JOFA_090702 + diff --git a/src/boost/libs/icl/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp new file mode 100644 index 00000000..3390c16b --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp @@ -0,0 +1,94 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_infix_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_icl_interval_map_mixed_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ + typedef int U; + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a; + split_interval_map<T,U> split_a; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a + join_a, join_a + split_a); +} + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_icl_interval_map_mixed_infix_pipe_overload_4_bicremental_types, T, bicremental_types) +{ + typedef int U; + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a; + split_interval_map<T,U> split_a; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a | join_a, join_a | split_a); +} + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_icl_interval_map_mixed_infix_minus_overload_4_bicremental_types, T, bicremental_types) +{ + typedef int U; + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a, join_b; + split_interval_map<T,U> split_a, split_b; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + join_b .add(CDv(1,3,1)).add(IIv(6,11,3)); + split_b.add(IDv(0,9,2)).add(IIv(3,6,1)); + + BOOST_CHECK_EQUAL(split_a - join_a, (split_b = split_a) -= join_a); + BOOST_CHECK_EQUAL(split_a - join_a, split_b); + + BOOST_CHECK_EQUAL(join_a - split_a, (join_b = join_a) -= split_a); + BOOST_CHECK_EQUAL(join_a - split_a, join_b); +} + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_icl_interval_map_mixed_infix_et_overload_4_bicremental_types, T, bicremental_types) +{ + typedef int U; + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a, join_b; + split_interval_map<T,U> split_a, split_b; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a & join_a, join_a & split_a); + BOOST_CHECK_EQUAL(split_a & join_a, (split_b = split_a) &= join_a); + BOOST_CHECK_EQUAL(split_a & join_a, split_b); + + BOOST_CHECK_EQUAL(join_a & split_a, (split_b = split_a) &= join_a); + BOOST_CHECK_EQUAL(join_a & split_a, split_b); +} + diff --git a/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj new file mode 100644 index 00000000..bf5bda51 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}</ProjectGuid> + <RootNamespace>Test_interval_map_infix_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_infix_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj.filters b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj.filters new file mode 100644 index 00000000..511814fd --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc10_test_interval_map_infix_mixed.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_infix_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj new file mode 100644 index 00000000..767fed3f --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_map_infix_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}" + RootNamespace="Test_interval_map_infix_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_map_infix_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_map_mixed.hpp b/src/boost/libs/icl/test/test_interval_map_mixed.hpp new file mode 100644 index 00000000..dbf8d8ca --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed.hpp @@ -0,0 +1,1560 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_ICL_interval_map_mixed_hpp_JOFA_081005__ +#define LIBS_ICL_TEST_TEST_ICL_interval_map_mixed_hpp_JOFA_081005__ + + +//------------------------------------------------------------------------------ +//- part1: Basic operations and predicates +//------------------------------------------------------------------------------ + +template <class T, class U> +void interval_map_mixed_ctor_4_ordered_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + + T v0 = boost::icl::identity_element<T>::value(); + U u1 = unit_element<U>::value(); + + SplitIntervalMapT split_map(mapping_pair<T,U>(v0,u1)); + //JODO: clang err: ctor ambiguous. Should compile + //JODO CLANG SplitIntervalMapT split_map(make_pair(v0,u1)); + IntervalMapT join_map(split_map); + + BOOST_CHECK_EQUAL( hull(split_map).lower(), hull(join_map).lower() ); + BOOST_CHECK_EQUAL( hull(split_map).upper(), hull(join_map).upper() ); +} + +template <class T, class U> +void interval_map_mixed_equal_4_ordered_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + + T v0 = boost::icl::identity_element<T>::value(); + U u1 = unit_element<U>::value(); + + SplitIntervalMapT split_empty, split_single(mapping_pair<T,U>(v0,u1)); + IntervalMapT join_empty, join_single(mapping_pair<T,U>(v0,u1)); + //JODO CLANG SplitIntervalMapT split_empty, split_single(make_pair(v0,u1)); + //JODO CLANG IntervalMapT join_empty, join_single(make_pair(v0,u1)); + + // mixed ==-equality is a strange thing. Most times is does not + // make sense. It is better to allow only for same type == equality. + BOOST_CHECK_EQUAL( split_empty == split_empty, true ); + BOOST_CHECK_EQUAL( join_empty == join_empty, true ); + + // There were Problems with operator== and emtpy sets. + BOOST_CHECK_EQUAL( split_empty == split_single, false ); + BOOST_CHECK_EQUAL( join_empty == join_single, false ); + + BOOST_CHECK_EQUAL( split_single == split_empty, false ); + BOOST_CHECK_EQUAL( join_single == join_empty, false ); + + BOOST_CHECK_EQUAL( is_element_equal(split_empty, split_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, join_empty), true ); + + BOOST_CHECK_EQUAL( is_element_equal(join_empty, split_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, join_empty), true ); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( is_element_equal(split_empty, split_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, join_single), false ); + + BOOST_CHECK_EQUAL( is_element_equal(join_empty, split_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, join_single), false ); + + BOOST_CHECK_EQUAL( is_element_equal(split_single, split_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_single, join_empty), false ); + + BOOST_CHECK_EQUAL( is_element_equal(join_single, split_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_single, join_empty), false ); +} + +template <class T, class U> +void interval_map_mixed_assign_4_ordered_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + + T v0 = boost::icl::identity_element<T>::value(); + T v1 = unit_element<T>::value(); + U u1 = unit_element<U>::value(); + + mapping_pair<T,U> v0_u1(v0,u1); + mapping_pair<T,U> v1_u1(v1,u1); + + SplitIntervalMapT split_map; + IntervalMapT join_map; + split_map.add(v0_u1); //NOTE: make_pair(v0,u1); fails + join_map = split_map; //=t T& T::operator=(const P&) ... + + + BOOST_CHECK_EQUAL( hull(split_map).lower(), hull(join_map).lower() ); + BOOST_CHECK_EQUAL( hull(split_map).upper(), hull(join_map).upper() ); + + SplitIntervalMapT split_self = SplitIntervalMapT().add(v0_u1); + IntervalMapT join_self = IntervalMapT().add(v1_u1); + + split_self = split_self; + join_self = join_self; + + BOOST_CHECK_EQUAL( split_self, split_self ); + BOOST_CHECK_EQUAL( join_self, join_self ); +} + +template <class T, class U> +void interval_map_mixed_ctor_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I4_5D_1(I4_5D, u1); + + SplitIntervalMapT split_map; + split_map.add(I1_3D_1).add(I2_4D_1).add(I4_5D_1); + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + IntervalMapT join_map(split_map); +} + + +template <class T, class U> +void interval_map_mixed_assign_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I4_5D_1(I4_5D, u1); + + SplitIntervalMapT split_map; + split_map.add(I1_3D_1).add(I2_4D_1).add(I4_5D_1); + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + IntervalMapT join_map; + join_map = split_map; + BOOST_CHECK_EQUAL( iterative_size(join_map), 3 ); +} + + +template <class T, class U> +void interval_map_mixed_equal_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I4_5D_1(I4_5D, u1); + + IntervalMapT join_map; + join_map.add(I1_3D_1).add(I2_4D_1).add(I4_5D_1); + IntervalMapT join_map2 = join_map; + BOOST_CHECK_EQUAL( join_map, join_map2 ); + BOOST_CHECK_EQUAL( is_element_equal(join_map, join_map2), true ); + + SplitIntervalMapT split_map; + split_map.add(I1_3D_1).add(I2_4D_1).add(I4_5D_1); + SplitIntervalMapT split_map2 = split_map; + BOOST_CHECK_EQUAL( split_map, split_map2 ); + BOOST_CHECK_EQUAL( is_element_equal(split_map2, split_map), true ); + + BOOST_CHECK_EQUAL( is_element_equal(split_map, join_map), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_map, split_map), true ); +} + + +template <class T, class U, class Trt> +void partial_interval_map_mixed_inclusion_compare_4_bicremental_types() +{ + typedef interval_map<T,U,Trt> IntervalMapT; + + //-------------------------------------------------------------------------- + // equalities + // { 0 1 2 3 4 5 8 9 } + // {[0,2)[2,3](3,6) (7,9]} + // ->2 ->1 ->1 ->2 + split_interval_map<T,U,Trt> split_map; + interval_map<T,U,Trt> join_map; + split_interval_set<T> split_set; + separate_interval_set<T> sep_set; + interval_set<T> join_set; + + split_map.add(IDv(0,2,2)).add(IIv(2,3,1)).add(CDv(3,6,1)).add(CIv(7,9,2)); + join_map = split_map; + icl::domain(split_set, split_map); + icl::domain(sep_set, split_map); + icl::domain(join_set, split_map); + + iterative_size(split_map); + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + BOOST_CHECK_EQUAL( iterative_size(join_map), 3 ); + BOOST_CHECK_EQUAL( iterative_size(split_set), 4 ); + BOOST_CHECK_EQUAL( iterative_size(sep_set), 4 ); + BOOST_CHECK_EQUAL( iterative_size(join_set), 2 ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_map, join_map), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_map, split_map), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_map, split_set), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, sep_set ), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, join_set ), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_map , split_set), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_map , sep_set ), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_map , join_set ), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_set, split_map), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(sep_set , split_map), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_set , split_map), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(split_set, join_map ), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(sep_set , join_map ), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(join_set , join_map ), inclusion::equal ); + + //-------------------------------------------------------------------------- + // inclusions + // { 0 1 2 3 4 5 8 9 } + // {[0, 2)[2, 3](3, 6) (7, 9]} + // ->2 ->1 ->1 ->2 + // {[0, 2) [3,3](3, 6) (7, 9]} + // ->2 ->1 ->1 ->2 + split_interval_map<T,U,Trt> split_sub_map1 = split_map; + split_sub_map1.erase(MK_v(2)); + BOOST_CHECK_EQUAL( icl::contains(split_sub_map1, MK_v(2)), false ); + + interval_map<T,U,Trt> join_sub_map2; + join_sub_map2 = split_map; + join_sub_map2.erase(MK_v(1)); + BOOST_CHECK_EQUAL( icl::contains(join_sub_map2, MK_v(1)), false ); + + split_interval_set<T> split_sub_set1; + separate_interval_set<T> sep_sub_set1; + interval_set<T> join_sub_set1; + + icl::domain(split_sub_set1, split_sub_map1); + icl::domain(sep_sub_set1, split_sub_map1); + icl::domain(join_sub_set1, split_sub_map1); + + BOOST_CHECK_EQUAL( inclusion_compare(split_sub_map1, split_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_sub_map2, split_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(split_sub_map1, join_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_sub_map2, join_map), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_sub_set1, split_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( sep_sub_set1, split_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_sub_set1, split_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(split_sub_set1, join_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( sep_sub_set1, join_map), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_sub_set1, join_map), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_map, split_sub_map1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, join_sub_map2), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, split_sub_map1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, join_sub_map2), inclusion::superset ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_map, split_sub_set1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, sep_sub_set1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, join_sub_set1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, split_sub_set1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, sep_sub_set1), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, join_sub_set1), inclusion::superset ); + + split_interval_map<T,U,Trt> split_unrel_map11 = split_sub_map1; + split_unrel_map11.set(CIv(7,9,1)); + BOOST_CHECK_EQUAL( split_unrel_map11(MK_v(8)), MK_u(1) ); + + interval_map<T,U,Trt> join_unrel_map21 = join_sub_map2; + join_unrel_map21.set(K_v(0,1)); + BOOST_CHECK_EQUAL( join_unrel_map21(MK_v(0)), MK_u(1) ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_unrel_map11, split_map), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare( join_unrel_map21, split_map), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(split_unrel_map11, join_map), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare( join_unrel_map21, join_map), inclusion::unrelated ); + + BOOST_CHECK_EQUAL( inclusion_compare(split_map, split_unrel_map11), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(split_map, join_unrel_map21), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, split_unrel_map11), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare( join_map, join_unrel_map21), inclusion::unrelated ); + + split_interval_map<T,U,Trt> split_unrel_map1 = split_sub_map1; + split_unrel_map1.add(IDv(11,12,1)); + BOOST_CHECK_EQUAL( split_unrel_map1(MK_v(11)), MK_u(1) ); + + interval_map<T,U,Trt> join_unrel_map2 = join_sub_map2; + join_unrel_map2.add(K_v(6,1)); + BOOST_CHECK_EQUAL( join_unrel_map2(MK_v(6)), MK_u(1) ); +} + + +template <class T, class U, class Trt> +void partial_interval_map_mixed_contains_4_bicremental_types() +{ + typedef interval_map<T,U,Trt> IntervalMapT; + //-------------------------------------------------------------------------- + // { 0 1 2 3 4 5 8 9 } + // {[0,2)[2,3](3,6) (7,9]} + // ->2 ->1 ->1 ->2 + split_interval_map<T,U,Trt> split_map; + interval_map<T,U,Trt> join_map; + split_interval_set<T> split_set; + separate_interval_set<T> sep_set; + interval_set<T> join_set; + + split_map.add(IDv(0,2,2)).add(IIv(2,3,1)).add(CDv(3,6,1)).add(CIv(7,9,2)); + join_map = split_map; + icl::domain(split_set, split_map); + icl::domain(sep_set, split_map); + icl::domain(join_set, split_map); + + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + BOOST_CHECK_EQUAL( iterative_size(join_map), 3 ); + BOOST_CHECK_EQUAL( iterative_size(split_set), 4 ); + BOOST_CHECK_EQUAL( iterative_size(sep_set), 4 ); + BOOST_CHECK_EQUAL( iterative_size(join_set), 2 ); + + // Key types + BOOST_CHECK_EQUAL( icl::contains(split_map, MK_v(0)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, MK_v(5)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, MK_v(9)), true ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, I_D(2,3)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, I_D(0,6)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, I_D(0,7)), false ); + BOOST_CHECK_EQUAL( icl::contains(join_map, I_D(2,3)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, I_D(0,6)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, I_D(0,7)), false ); + + // Map types + BOOST_CHECK_EQUAL( icl::contains(join_map, K_v(1,2)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, K_v(5,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, K_v(9,2)), true ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, IDv(2,6,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, IDv(1,6,1)), false ); + BOOST_CHECK_EQUAL( icl::contains(split_map, IIv(8,9,2)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, IIv(8,9,3)), false ); + BOOST_CHECK_EQUAL( icl::contains(join_map, IDv(2,6,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, IDv(1,6,1)), false ); + BOOST_CHECK_EQUAL( icl::contains(join_map, IIv(8,9,2)), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, IIv(8,9,3)), false ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, join_map), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, split_map), true ); + BOOST_CHECK_EQUAL( icl::within(split_map, join_map), true ); + BOOST_CHECK_EQUAL( icl::within(join_map, split_map), true ); + + //-------------------------------------------------------------------------- + // inclusions + // { 0 1 2 3 4 5 8 9 } + // {[0, 2)[2, 3](3, 6) (7, 9]} + // ->2 ->1 ->1 ->2 + // {[0, 2) [3,3](3, 6) (7, 9]} + // ->2 ->1 ->1 ->2 + split_interval_map<T,U,Trt> split_sub_map1 = split_map; + split_sub_map1.erase(MK_v(2)); + BOOST_CHECK_EQUAL( icl::contains(split_sub_map1, MK_v(2)), false ); + + interval_map<T,U,Trt> join_sub_map2; + join_sub_map2 = split_map; + join_sub_map2.erase(MK_v(1)); + BOOST_CHECK_EQUAL( icl::contains(join_sub_map2, MK_v(1)), false ); + + split_interval_set<T> split_sub_set1; + separate_interval_set<T> sep_sub_set1; + interval_set<T> join_sub_set1; + + icl::domain(split_sub_set1, split_sub_map1); + icl::domain(sep_sub_set1, split_sub_map1); + icl::domain(join_sub_set1, split_sub_map1); + + BOOST_CHECK_EQUAL( icl::within(split_sub_map1, split_map), true ); + BOOST_CHECK_EQUAL( icl::within(join_sub_map2, split_map), true ); + BOOST_CHECK_EQUAL( icl::within(split_sub_map1, join_map ), true ); + BOOST_CHECK_EQUAL( icl::within(join_sub_map2, join_map ), true ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, split_sub_map1), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, join_sub_map2), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, split_sub_map1), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, join_sub_map2), true ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, split_sub_set1), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, sep_sub_set1), true ); + BOOST_CHECK_EQUAL( icl::contains(split_map, join_sub_set1), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, split_sub_set1), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, sep_sub_set1), true ); + BOOST_CHECK_EQUAL( icl::contains(join_map, join_sub_set1), true ); + + split_interval_map<T,U,Trt> split_unrel_map11 = split_sub_map1; + split_unrel_map11.set(CIv(7,9,1)); + BOOST_CHECK_EQUAL( split_unrel_map11(MK_v(8)), MK_u(1) ); + + interval_map<T,U,Trt> join_unrel_map21 = join_sub_map2; + join_unrel_map21.set(K_v(0,1)); + BOOST_CHECK_EQUAL( join_unrel_map21(MK_v(0)), MK_u(1) ); + + BOOST_CHECK_EQUAL( icl::contains(split_unrel_map11, split_map), false ); + BOOST_CHECK_EQUAL( icl::contains(join_unrel_map21, split_map), false ); + BOOST_CHECK_EQUAL( icl::contains(split_unrel_map11, join_map), false ); + BOOST_CHECK_EQUAL( icl::contains(join_unrel_map21, join_map), false ); + + BOOST_CHECK_EQUAL( icl::within(split_unrel_map11, split_map), false ); + BOOST_CHECK_EQUAL( icl::within(join_unrel_map21, split_map), false ); + BOOST_CHECK_EQUAL( icl::within(split_unrel_map11, join_map), false ); + BOOST_CHECK_EQUAL( icl::within(join_unrel_map21, join_map), false ); + + BOOST_CHECK_EQUAL( icl::contains(split_map, split_unrel_map11), false ); + BOOST_CHECK_EQUAL( icl::contains(split_map, join_unrel_map21), false ); + BOOST_CHECK_EQUAL( icl::contains(join_map, split_unrel_map11), false ); + BOOST_CHECK_EQUAL( icl::contains(join_map, join_unrel_map21), false ); + +} + +//------------------------------------------------------------------------------ +//- part2: Operations +//------------------------------------------------------------------------------ + +template <class T, class U> +void interval_map_mixed_add_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + U u1 = make<U>(1); + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I4_5D_1(I4_5D, u1); + mapping_pair<T,U> v1_1(v1, u1); + mapping_pair<T,U> v3_1(v3, u1); + mapping_pair<T,U> v5_1(v5, u1); + + SplitIntervalMapT split_map; + split_map.add(I1_3D_1).add(I2_4D_1); + split_map += I4_5D_1; + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + IntervalMapT join_map; + join_map += split_map; + BOOST_CHECK_EQUAL( iterative_size(join_map), 3 ); + + IntervalMapT join_map3; + join_map3.add(v1_1).add(v3_1); + join_map3 += v5_1; + BOOST_CHECK_EQUAL( iterative_size(join_map3), 3 ); + SplitIntervalMapT split_map3; + split_map3 += join_map3; + BOOST_CHECK_EQUAL( iterative_size(split_map3), 3 ); +} + +template <class T, class U> +void interval_map_mixed_add2_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I4_5D_1(I4_5D, u1); + mapping_pair<T,U> v1_1(v1, u1); + mapping_pair<T,U> v3_1(v3, u1); + mapping_pair<T,U> v5_1(v5, u1); + + SplitIntervalMapT split_map; + split_map.add(I1_3D_1).add(I2_4D_1); + split_map |= I4_5D_1; + BOOST_CHECK_EQUAL( iterative_size(split_map), 4 ); + IntervalMapT join_map; + join_map |= split_map; + BOOST_CHECK_EQUAL( iterative_size(join_map), 3 ); + + IntervalMapT join_map3; + join_map3.add(v1_1).add(v3_1); + join_map3 |= v5_1; + BOOST_CHECK_EQUAL( iterative_size(join_map3), 3 ); + SplitIntervalMapT split_map3; + split_map3 |= join_map3; + BOOST_CHECK_EQUAL( iterative_size(split_map3), 3 ); +} + + +template <class T, class U> +void interval_map_mixed_subtract_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + std::pair<IntervalT,U> I0_4D_1(I0_4D, u1); + std::pair<IntervalT,U> I2_6D_1(I2_6D, u1); + std::pair<IntervalT,U> I3_6D_1(I3_6D, u1); + std::pair<IntervalT,U> I5_7D_1(I5_7D, u1); + std::pair<IntervalT,U> I7_8D_1(I7_8D, u1); + std::pair<IntervalT,U> I8_9D_1(I8_9D, u1); + std::pair<IntervalT,U> I8_9I_1(I8_9I, u1); + + SplitIntervalMapT split_map; + split_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(split_map), 7 ); + + IntervalMapT join_map; + join_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(join_map), 5 ); + + // Make maps to be subtracted + SplitIntervalMapT split_sub; + split_sub.add(I3_6D_1).add(I8_9D_1); + + IntervalMapT join_sub; + join_sub.add(I3_6D_1).add(I8_9D_1); + + //-------------------------------------------------------------------------- + // Test for split_interval_map + SplitIntervalMapT split_diff = split_map; + IntervalMapT join_diff = join_map; + + //subtraction combinations + split_diff -= split_sub; + join_diff -= split_sub; + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 7 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 5 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + + //-------------------------------------------------------------------------- + // Test for interval_map. Reinitialize + split_diff = split_map; + join_diff = join_map; + + //subtraction combinations + split_diff -= join_sub; + join_diff -= join_sub; + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 7 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 5 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); +} + + +template <class T, class U> +void interval_map_mixed_erase_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + std::pair<IntervalT,U> I0_4D_1(I0_4D, u1); + std::pair<IntervalT,U> I2_6D_1(I2_6D, u1); + std::pair<IntervalT,U> I3_6D_1(I3_6D, u1); + std::pair<IntervalT,U> I5_7D_1(I5_7D, u1); + std::pair<IntervalT,U> I7_8D_1(I7_8D, u1); + std::pair<IntervalT,U> I8_9D_1(I8_9D, u1); + std::pair<IntervalT,U> I8_9I_1(I8_9I, u1); + + SplitIntervalMapT split_map; + split_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(split_map), 7 ); + + IntervalMapT join_map; + join_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(join_map), 5 ); + + // Make sets to be erased + SplitIntervalMapT split_sub; + split_sub.add(I3_6D_1).add(I8_9D_1); + + IntervalMapT join_sub; + join_sub.add(I3_6D_1).add(I8_9D_1); + + //-------------------------------------------------------------------------- + // Test for split_interval_map + SplitIntervalMapT split_diff = split_map; + IntervalMapT join_diff = join_map; + + //subtraction combinations + erase(split_diff, split_sub); + erase(join_diff, split_sub); + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 6 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 5 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + + //-------------------------------------------------------------------------- + // Test for interval_map. Reinitialize + split_diff = split_map; + join_diff = join_map; + + //subtraction combinations + erase(split_diff, join_sub); + erase(join_diff, join_sub); + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 6 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 5 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); +} + + +template <class T, class U> +void interval_map_mixed_erase2_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef interval_set<T> IntervalSetT; + typedef split_interval_set<T> SplitIntervalSetT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + std::pair<IntervalT,U> I0_4D_1(I0_4D, u1); + std::pair<IntervalT,U> I2_6D_1(I2_6D, u1); + std::pair<IntervalT,U> I3_6D_1(I3_6D, u1); + std::pair<IntervalT,U> I5_7D_1(I5_7D, u1); + std::pair<IntervalT,U> I7_8D_1(I7_8D, u1); + std::pair<IntervalT,U> I8_9D_1(I8_9D, u1); + std::pair<IntervalT,U> I8_9I_1(I8_9I, u1); + + SplitIntervalMapT split_map; + split_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(split_map), 7 ); + + IntervalMapT join_map; + join_map.add(I0_4D_1).add(I2_6D_1).add(I5_7D_1).add(I7_8D_1).add(I8_9I_1); + BOOST_CHECK_EQUAL( iterative_size(join_map), 5 ); + + // Make sets to be erased + SplitIntervalSetT split_sub; + split_sub.add(I3_6D).add(I8_9D); + + IntervalSetT join_sub; + join_sub.add(I3_6D).add(I8_9D); + + //-------------------------------------------------------------------------- + // Test for split_interval_map + SplitIntervalMapT split_diff = split_map; + IntervalMapT join_diff = join_map; + SplitIntervalMapT split_diff2 = split_map; + IntervalMapT join_diff2 = join_map; + + //erase combinations + erase(split_diff, split_sub); + erase(join_diff, split_sub); + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 5 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 4 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + + //subtraction combinations + split_diff2 -= split_sub; + join_diff2 -= split_sub; + + BOOST_CHECK_EQUAL( iterative_size(split_diff2), 5 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff2), 4 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff2, split_diff2), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff2, join_diff2), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff2, split_diff2), true ); + + //-------------------------------------------------------------------------- + // Test for interval_map. Reinitialize + split_diff = split_map; + join_diff = join_map; + split_diff2 = split_map; + join_diff2 = join_map; + + //erase combinations + erase(split_diff, join_sub); + erase(join_diff, join_sub); + + BOOST_CHECK_EQUAL( iterative_size(split_diff), 5 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff), 4 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + + //subtraction combinations + split_diff2 -= join_sub; + join_diff2 -= join_sub; + + BOOST_CHECK_EQUAL( iterative_size(split_diff2), 5 ); + BOOST_CHECK_EQUAL( iterative_size(join_diff2), 4 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff2, join_diff2), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff2, split_diff2), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff2, join_diff2), true ); +} + + +template <class T, class U> +void interval_map_mixed_insert_erase_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + std::pair<IntervalT,U> I0_4D_1(I0_4D, u1); + std::pair<IntervalT,U> I2_6D_1(I2_6D, u1); + std::pair<IntervalT,U> I3_6D_1(I3_6D, u1); + std::pair<IntervalT,U> I5_7D_1(I5_7D, u1); + std::pair<IntervalT,U> I7_8D_1(I7_8D, u1); + std::pair<IntervalT,U> I8_9D_1(I8_9D, u1); + std::pair<IntervalT,U> I8_9I_1(I8_9I, u1); + + SplitIntervalMapT split_A, split_B, split_all, split_X; + IntervalMapT join_A, join_B, join_all, join_X; + + split_all.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1).insert(I7_8D_1).insert(I8_9I_1); + split_A.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1); + split_B.insert(I7_8D_1).insert(I8_9I_1); + + join_all.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1).insert(I7_8D_1).insert(I8_9I_1); + join_A.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1); + join_B.insert(I7_8D_1).insert(I8_9I_1); + + //------------------------------------------------------------------------- + insert(split_X, split_A); + BOOST_CHECK_EQUAL( split_X, split_A ); + insert(split_X, split_B); + BOOST_CHECK_EQUAL( split_X, split_all ); + + erase(split_X, split_B); + BOOST_CHECK_EQUAL( split_X, split_A ); + erase(split_X, split_A); + BOOST_CHECK_EQUAL( split_X, SplitIntervalMapT() ); + + //------------------------------------------------------------------------- + insert(join_X, join_A); + BOOST_CHECK_EQUAL( join_X, join_A ); + insert(join_X, join_B); + BOOST_CHECK_EQUAL( join_X, join_all ); + + erase(join_X, join_B); + BOOST_CHECK_EQUAL( join_X, join_A ); + erase(join_X, join_A); + BOOST_CHECK_EQUAL( join_X, IntervalMapT() ); + + //------------------------------------------------------------------------- + split_X.clear(); + insert(split_X, join_A); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_A), true ); + insert(split_X, join_B); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_all), true ); + + erase(split_X, join_B); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_A), true ); + erase(split_X, join_A); + BOOST_CHECK_EQUAL( is_element_equal(split_X, SplitIntervalMapT()), true ); + + //------------------------------------------------------------------------- + split_X.clear(); + insert(join_X, split_A); + BOOST_CHECK_EQUAL( is_element_equal(join_X, split_A), true ); + insert(join_X, split_B); + BOOST_CHECK_EQUAL( is_element_equal(join_X, join_all), true ); + + erase(join_X, split_B); + BOOST_CHECK_EQUAL( is_element_equal(join_X, split_A), true ); + erase(join_X, split_A); + BOOST_CHECK_EQUAL( is_element_equal(join_X, IntervalMapT()), true ); +} + +template <class T, class U> +void interval_map_mixed_insert_erase2_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef interval_set<T> IntervalSetT; + typedef split_interval_set<T> SplitIntervalSetT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + std::pair<IntervalT,U> I0_4D_1(I0_4D, u1); + std::pair<IntervalT,U> I2_6D_1(I2_6D, u1); + std::pair<IntervalT,U> I3_6D_1(I3_6D, u1); + std::pair<IntervalT,U> I5_7D_1(I5_7D, u1); + std::pair<IntervalT,U> I7_8D_1(I7_8D, u1); + std::pair<IntervalT,U> I8_9D_1(I8_9D, u1); + std::pair<IntervalT,U> I8_9I_1(I8_9I, u1); + + SplitIntervalMapT split_A, split_B, split_all, split_X; + IntervalMapT join_A, join_B, join_all, join_X; + SplitIntervalSetT split_dA, split_dB; + IntervalSetT join_dA, join_dB; + + split_all.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1).insert(I7_8D_1).insert(I8_9I_1); + split_A.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1); + split_B.insert(I7_8D_1).insert(I8_9I_1); + + join_all.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1).insert(I7_8D_1).insert(I8_9I_1); + join_A.insert(I0_4D_1).insert(I2_6D_1).insert(I5_7D_1); + join_B.insert(I7_8D_1).insert(I8_9I_1); + + icl::domain(split_dA, split_A); + icl::domain(split_dB, split_B); + icl::domain(join_dA, join_A); + icl::domain(join_dB, join_B); + + //------------------------------------------------------------------------- + insert(split_X, split_A); + BOOST_CHECK_EQUAL( split_X, split_A ); + insert(split_X, split_B); + BOOST_CHECK_EQUAL( split_X, split_all ); + + erase(split_X, split_dB); + BOOST_CHECK_EQUAL( split_X, split_A ); + erase(split_X, split_dA); + BOOST_CHECK_EQUAL( split_X, SplitIntervalMapT() ); + + //------------------------------------------------------------------------- + insert(join_X, join_A); + BOOST_CHECK_EQUAL( join_X, join_A ); + insert(join_X, join_B); + BOOST_CHECK_EQUAL( join_X, join_all ); + + erase(join_X, join_dB); + BOOST_CHECK_EQUAL( join_X, join_A ); + erase(join_X, join_dA); + BOOST_CHECK_EQUAL( join_X, IntervalMapT() ); + + //------------------------------------------------------------------------- + split_X.clear(); + insert(split_X, join_A); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_A), true ); + insert(split_X, join_B); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_all), true ); + + erase(split_X, join_dB); + BOOST_CHECK_EQUAL( is_element_equal(split_X, split_A), true ); + erase(split_X, join_dA); + BOOST_CHECK_EQUAL( is_element_equal(split_X, SplitIntervalMapT()), true ); + + //------------------------------------------------------------------------- + split_X.clear(); + insert(join_X, split_A); + BOOST_CHECK_EQUAL( is_element_equal(join_X, split_A), true ); + insert(join_X, split_B); + BOOST_CHECK_EQUAL( is_element_equal(join_X, join_all), true ); + + erase(join_X, split_dB); + BOOST_CHECK_EQUAL( is_element_equal(join_X, split_A), true ); + erase(join_X, split_dA); + BOOST_CHECK_EQUAL( is_element_equal(join_X, IntervalMapT()), true ); +} + +template <class T, class U> +void interval_map_mixed_basic_intersect_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + U u2 = make<U>(2); + U u3 = make<U>(3); + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + + + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I1_8D = IntervalT::right_open(v1,v8); + IntervalT I2_7D = IntervalT::right_open(v2,v7); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I6_7D = IntervalT::right_open(v6,v7); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + std::pair<IntervalT,U> I0_3D_1(I0_3D, u1); + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I1_3D_2(I1_3D, u2); + std::pair<IntervalT,U> I1_8D_1(I1_8D, u1); + std::pair<const IntervalT,U> I2_7D_1(I2_7D, u1); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I2_3D_3(I2_3D, u3); + std::pair<IntervalT,U> I6_7D_1(I6_7D, u1); + std::pair<IntervalT,U> I6_7D_3(I6_7D, u3); + std::pair<IntervalT,U> I6_8D_1(I6_8D, u1); + std::pair<IntervalT,U> I6_8D_2(I6_8D, u2); + std::pair<IntervalT,U> I6_9D_1(I6_9D, u1); + + //-------------------------------------------------------------------------- + // split_interval_map + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= [1 8) + //split_AB -> [1 3) [6 8) + // &= [2 7) + // -> [2 3) [6 7) + SplitIntervalMapT split_A, split_B, split_AB, split_ab, split_ab2; + + split_A.add(I0_3D_1).add(I6_9D_1); + split_AB = split_A; + split_AB &= I1_8D_1; + split_ab.add(I1_3D_2).add(I6_8D_2); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= I1_8D_1) &= I2_7D_1; + split_ab2.add(I2_3D_3).add(I6_7D_3); + + BOOST_CHECK_EQUAL( split_AB, split_ab2 ); + + + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // 1 1 + // &= 1 + // 1 + //split_AB -> [1] + // 2 + // += (1 7) + // 2 + // -> [1](1 7) + // 2 2 + split_A.clear(); + split_A.add(I0_3D_1).add(I6_9D_1); + split_AB = split_A; + split_AB &= mapping_pair<T,U>(v1,u1); + split_ab.clear(); + split_ab.add(mapping_pair<T,U>(v1,u2)); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + split_AB &= mapping_pair<T,U>(v1,u1); + split_AB += make_pair(IntervalT::open(v1,v7), u2); + split_ab2.clear(); + split_ab2 += make_pair(IntervalT::right_open(v1,v7), u2); + + BOOST_CHECK_EQUAL( is_element_equal(split_AB, split_ab2), true ); +} + + +template <class T, class U> +void interval_map_mixed_basic_intersect2_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + U u2 = make<U>(2); + U u3 = make<U>(3); + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + + + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I1_8D = IntervalT::right_open(v1,v8); + IntervalT I2_7D = IntervalT::right_open(v2,v7); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I6_7D = IntervalT::right_open(v6,v7); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + std::pair<IntervalT,U> I0_3D_1(I0_3D, u1); + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I1_3D_2(I1_3D, u2); + std::pair<IntervalT,U> I1_8D_1(I1_8D, u1); + std::pair<IntervalT,U> I2_7D_1(I2_7D, u1); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I2_3D_3(I2_3D, u3); + std::pair<IntervalT,U> I6_7D_1(I6_7D, u1); + std::pair<IntervalT,U> I6_7D_3(I6_7D, u3); + std::pair<IntervalT,U> I6_8D_1(I6_8D, u1); + std::pair<IntervalT,U> I6_8D_2(I6_8D, u2); + std::pair<IntervalT,U> I6_9D_1(I6_9D, u1); + + //-------------------------------------------------------------------------- + // split_interval_map + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= [1 8) + //split_AB -> [1 3) [6 8) + // &= [2 7) + // -> [2 3) [6 7) + SplitIntervalMapT split_A, split_B, split_AB, split_ab, split_ab2; + + split_A.add(I0_3D_1).add(I6_9D_1); + split_AB = split_A; + split_AB &= I1_8D; + split_ab.add(I1_3D_1).add(I6_8D_1); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= I1_8D) &= I2_7D; + split_ab2.add(I2_3D_1).add(I6_7D_1); + + BOOST_CHECK_EQUAL( split_AB, split_ab2 ); + + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // 1 1 + // &= 1 + // 1 + //split_AB -> [1] + // 2 + // += (1 7) + // 2 + // -> [1](1 7) + // 2 2 + split_A.clear(); + split_A.add(I0_3D_1).add(I6_9D_1); + split_AB = split_A; + split_AB &= v1; + split_ab.clear(); + split_ab.add(mapping_pair<T,U>(v1,u1)); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + split_AB &= IntervalT(v1); + split_AB += make_pair(IntervalT::open(v1,v7), u1); + split_ab2.clear(); + split_ab2 += make_pair(IntervalT::right_open(v1,v7), u1); + + BOOST_CHECK_EQUAL( is_element_equal(split_AB, split_ab2), true ); + + split_interval_map<T,U> left, right; + left. add(IDv(0,2,2)); + right.add(IDv(0,2,2)); + BOOST_CHECK_EQUAL( is_element_equal(left, right), true ); + + split_interval_set<T> left2, right2; + left2. add(I_D(0,2)); + right2.add(I_D(0,1)); + is_element_equal(left2, right2); + BOOST_CHECK_EQUAL( is_element_equal(left2, right2), false ); +} + + +template <class T, class U> +void interval_map_mixed_intersect_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + U u2 = make<U>(2); + + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_2D = IntervalT::right_open(v1,v2); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I5_8D = IntervalT::right_open(v5,v8); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + std::pair<IntervalT,U> I0_3D_1(I0_3D, u1); + std::pair<IntervalT,U> I1_2D_1(I1_2D, u1); + std::pair<IntervalT,U> I1_2D_2(I1_2D, u2); + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I1_3D_2(I1_3D, u2); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I2_3D_2(I2_3D, u2); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I5_8D_1(I5_8D, u1); + std::pair<IntervalT,U> I6_8D_1(I6_8D, u1); + std::pair<IntervalT,U> I6_8D_2(I6_8D, u2); + std::pair<IntervalT,U> I6_9D_1(I6_9D, u1); + + //-------------------------------------------------------------------------- + // split_interval_set + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // 1 1 + //split_B &= [1 2)[2 4) [5 8) + // 1 1 1 + //split_AB -> [1 2)[2 3) [6 8) + // 2 2 2 + SplitIntervalMapT split_A, split_B, split_AB, split_ab, split_ab_jn; + IntervalMapT join_A, join_B, join_AB, join_ab; + + split_A.add(I0_3D_1).add(I6_9D_1); + split_B.add(I1_2D_1).add(I2_4D_1).add(I5_8D_1); + split_ab.add(I1_2D_2).add(I2_3D_2).add(I6_8D_2); + split_ab_jn.add(I1_3D_2).add(I6_8D_2); + split_AB = split_A; + split_AB &= split_B; + BOOST_CHECK_EQUAL( iterative_size(split_AB), 3 ); + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + //split_A [0 3) [6 9) + // 1 1 + //join_B &= [1 4) [5 8) + // 1 1 + //split_AB -> [1 3) [6 8) + // 2 2 + split_AB = split_A; + join_B = split_B; + split_AB &= join_B; + + BOOST_CHECK_EQUAL( iterative_size(split_AB), 2 ); + BOOST_CHECK_EQUAL( split_AB, split_ab_jn ); +} + + + +template <class T, class U> +void interval_map_mixed_intersect2_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef interval_set<T> IntervalSetT; + typedef split_interval_set<T> SplitIntervalSetT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + U u2 = make<U>(2); + + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_2D = IntervalT::right_open(v1,v2); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I5_8D = IntervalT::right_open(v5,v8); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + std::pair<IntervalT,U> I0_3D_1(I0_3D, u1); + std::pair<IntervalT,U> I1_2D_1(I1_2D, u1); + std::pair<IntervalT,U> I1_2D_2(I1_2D, u2); + std::pair<IntervalT,U> I1_3D_1(I1_3D, u1); + std::pair<IntervalT,U> I1_3D_2(I1_3D, u2); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I2_3D_2(I2_3D, u2); + std::pair<IntervalT,U> I2_4D_1(I2_4D, u1); + std::pair<IntervalT,U> I5_8D_1(I5_8D, u1); + std::pair<IntervalT,U> I6_8D_1(I6_8D, u1); + std::pair<IntervalT,U> I6_8D_2(I6_8D, u2); + std::pair<IntervalT,U> I6_9D_1(I6_9D, u1); + + //-------------------------------------------------------------------------- + // split_interval_set + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // 1 1 + //split_B &= [1 2)[2 4) [5 8) + //split_AB -> [1 2)[2 3) [6 8) + // 1 1 1 + SplitIntervalMapT split_A, split_AB, split_ab, split_ab_jn; + SplitIntervalSetT split_B; + IntervalMapT join_A, join_AB, join_ab; + IntervalSetT join_B; + + split_A.add(I0_3D_1).add(I6_9D_1); + split_B.add(I1_2D).add(I2_4D).add(I5_8D); + split_ab.add(I1_2D_1).add(I2_3D_1).add(I6_8D_1); + split_ab_jn.add(I1_3D_1).add(I6_8D_1); + split_AB = split_A; + split_AB &= split_B; + BOOST_CHECK_EQUAL( iterative_size(split_AB), 3 ); + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + //split_A [0 3) [6 9) + // 1 1 + //join_B &= [1 4) [5 8) + //split_AB -> [1 3) [6 8) + // 1 1 + split_AB = split_A; + join_B = split_B; + split_AB &= join_B; + + BOOST_CHECK_EQUAL( iterative_size(split_AB), 2 ); + BOOST_CHECK_EQUAL( split_AB, split_ab_jn ); +} + + +template <class T, class U> +void interval_map_mixed_disjoint_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v6 = make<T>(6); + + IntervalT I0_2D = IntervalT::right_open(v0,v2); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I3_4D = IntervalT::right_open(v3,v4); + IntervalT I4_4I = IntervalT::closed(v4,v4); + IntervalT C4_6D = IntervalT::open(v4,v6); + IntervalT I6_6I = IntervalT::closed(v6,v6); + + std::pair<IntervalT,U> I0_2D_1(I0_2D, u1); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I3_4D_1(I3_4D, u1); + std::pair<IntervalT,U> I4_4I_1(I4_4I, u1); + std::pair<IntervalT,U> C4_6D_1(C4_6D, u1); + std::pair<IntervalT,U> I6_6I_1(I6_6I, u1); + + //-------------------------------------------------------------------------- + //split_A: [0 2) [4 4] [6 6] + //split_B: [2 3)[3 4) (4 6) + SplitIntervalMapT split_A, split_B; + + split_A.add(I0_2D_1).add(I4_4I_1).add(I6_6I_1); + split_B.add(I2_3D_1).add(I3_4D_1).add(C4_6D_1); + + IntervalMapT join_A(split_A), join_B(split_B); + + BOOST_CHECK_EQUAL( disjoint(split_A, split_B), true ); + BOOST_CHECK_EQUAL( disjoint(split_A, join_B), true ); + + BOOST_CHECK_EQUAL( disjoint(join_A, split_B), true ); + BOOST_CHECK_EQUAL( disjoint(join_A, join_B), true ); +} + +template<class Type> +struct size_greater_1 : public icl::property<Type> +{ + bool operator()(const Type& value)const + { + return icl::size(value.first) > 1 ; + } +}; + + +template <class T, class U> +void interval_map_mixed_erase_if_4_integral_types() +{ + typedef interval_map<T,U> IntervalMapT; + typedef split_interval_map<T,U> SplitIntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + U u1 = make<U>(1); + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v6 = make<T>(6); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I3_4D = IntervalT::right_open(v3,v4); + IntervalT I4_4I = IntervalT::closed(v4,v4); + IntervalT C4_6D = IntervalT::open(v4,v6); + IntervalT I6_6I = IntervalT::closed(v6,v6); + + std::pair<IntervalT,U> I0_3D_1(I0_3D, u1); + std::pair<IntervalT,U> I2_3D_1(I2_3D, u1); + std::pair<IntervalT,U> I3_4D_1(I3_4D, u1); + std::pair<IntervalT,U> I4_4I_1(I4_4I, u1); + std::pair<IntervalT,U> C4_6D_1(C4_6D, u1); + std::pair<IntervalT,U> I6_6I_1(I6_6I, u1); + + //-------------------------------------------------------------------------- + //split_A: [0 2) [4 4] [6 6] + //split_B: [2 3)[3 4) (4 6) + SplitIntervalMapT split_A, split_B; + + split_A.add(I0_3D_1).add(I4_4I_1).add(I6_6I_1); + split_B.add(I4_4I_1).add(I6_6I_1); + + icl::erase_if(size_greater_1<typename SplitIntervalMapT::value_type>(), split_A); + + BOOST_CHECK_EQUAL( split_A, split_B ); +} + +//------------------------------------------------------------------------------ +//- infix operators +//------------------------------------------------------------------------------ + +template <class T, class U> +void interval_map_mixed_infix_plus_overload_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + + interval_map<T,U> join_a; + split_interval_map<T,U> split_a; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a + join_a, join_a + split_a); +} + +template <class T, class U> +void interval_map_mixed_infix_pipe_overload_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a; + split_interval_map<T,U> split_a; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a | join_a, join_a | split_a); +} + +template <class T, class U> +void interval_map_mixed_infix_minus_overload_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a, join_b; + split_interval_map<T,U> split_a, split_b; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + join_b .add(CDv(1,3,1)).add(IIv(6,11,3)); + split_b.add(IDv(0,9,2)).add(IIv(3,6,1)); + + BOOST_CHECK_EQUAL(split_a - join_a, (split_b = split_a) -= join_a); + BOOST_CHECK_EQUAL(split_a - join_a, split_b); + + BOOST_CHECK_EQUAL(join_a - split_a, (join_b = join_a) -= split_a); + BOOST_CHECK_EQUAL(join_a - split_a, join_b); +} + +template <class T, class U> +void interval_map_mixed_infix_et_overload_4_bicremental_types() +{ + typedef interval_map<T,U> IntervalMapT; + interval_map<T,U> join_a, join_b; + split_interval_map<T,U> split_a, split_b; + + join_a .add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + split_a.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(split_a & join_a, join_a & split_a); + BOOST_CHECK_EQUAL(split_a & join_a, (split_b = split_a) &= join_a); + BOOST_CHECK_EQUAL(split_a & join_a, split_b); + + BOOST_CHECK_EQUAL(join_a & split_a, (split_b = split_a) &= join_a); + BOOST_CHECK_EQUAL(join_a & split_a, split_b); +} + + + +#endif // LIBS_ICL_TEST_TEST_ICL_interval_map_mixed_hpp_JOFA_081005__ diff --git a/src/boost/libs/icl/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp b/src/boost/libs/icl/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp new file mode 100644 index 00000000..9b895421 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp @@ -0,0 +1,83 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_map_mixed.hpp" + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_add_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_add_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_add2_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_add2_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_subtract_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_subtract_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_erase_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_erase_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_erase2_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_erase2_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_insert_erase_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_insert_erase_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_insert_erase2_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_insert_erase2_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_basic_intersect_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_basic_intersect_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_basic_intersect2_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_basic_intersect2_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_intersect_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_intersect_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_intersect2_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_intersect2_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_disjoint_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_disjoint_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_mixed_erase_if_4_integral_types, T, integral_types) +{ interval_map_mixed_erase_if_4_integral_types<T, int>(); } + diff --git a/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj new file mode 100644 index 00000000..e41e3f7f --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}</ProjectGuid> + <RootNamespace>Test_interval_map_mixed2</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_mixed2.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj.filters b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj.filters new file mode 100644 index 00000000..33eada0b --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc10_test_interval_map_mixed2.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_mixed2.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj new file mode 100644 index 00000000..c6b93755 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_map_mixed2" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}" + RootNamespace="Test_interval_map_mixed2" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_map_mixed2.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_map_mixed_/test_interval_map_mixed.cpp b/src/boost/libs/icl/test/test_interval_map_mixed_/test_interval_map_mixed.cpp new file mode 100644 index 00000000..8f2679af --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed_/test_interval_map_mixed.cpp @@ -0,0 +1,63 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_map_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_map_mixed.hpp" + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_ctor_4_ordered_types, T, ordered_types) +{ interval_map_mixed_ctor_4_ordered_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_equal_4_ordered_types, T, ordered_types) +{ interval_map_mixed_equal_4_ordered_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_assign_4_ordered_types, T, ordered_types) +{ interval_map_mixed_assign_4_ordered_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_ctor_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_ctor_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_assign_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_assign_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_map_mixed_equal_4_bicremental_types, T, bicremental_types) +{ interval_map_mixed_equal_4_bicremental_types<T, int>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_interval_map_mixed_inclusion_compare_4_bicremental_types, T, bicremental_types) +{ partial_interval_map_mixed_inclusion_compare_4_bicremental_types<T, int, partial_absorber>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_interval_map_mixed_contains_4_bicremental_types, T, bicremental_types) +{ partial_interval_map_mixed_contains_4_bicremental_types<T, int, partial_absorber>(); } + diff --git a/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj b/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj new file mode 100644 index 00000000..b2ace447 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}</ProjectGuid> + <RootNamespace>Test_interval_map_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj.filters b/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj.filters new file mode 100644 index 00000000..f42f1013 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed_/vc10_test_interval_map_mixed.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_map_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj b/src/boost/libs/icl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj new file mode 100644 index 00000000..ea48070c --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_map_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}" + RootNamespace="Test_interval_map_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_map_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_map_shared.hpp b/src/boost/libs/icl/test/test_interval_map_shared.hpp new file mode 100644 index 00000000..7ffcaa15 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_map_shared.hpp @@ -0,0 +1,1518 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2012: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_INTERVAL_MAP_SHARED_HPP_JOFA_081005 +#define LIBS_ICL_TEST_TEST_INTERVAL_MAP_SHARED_HPP_JOFA_081005 + +#include "portability.hpp" + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_fundamentals_4_ordered_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typedef typename IntervalMapT::size_type size_T; + + // ordered types is the largest set of instance types. + // Because we can not generate values via incrementation for e.g. string, + // we are able to test operations only for the most basic values + // identity_element (0, empty, T() ...) and unit_element. + + T v0 = boost::icl::identity_element<T>::value(); + T v1 = unit_element<T>::value(); + IntervalT I0_0I(v0); + IntervalT I1_1I(v1); +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + IntervalT I0_1I(v0, v1, interval_bounds::closed()); +#else + IntervalT I0_1I = icl::interval<T>::closed(v0, v1); +#endif + U u1 = unit_element<U>::value(); + + //------------------------------------------------------------------------- + //empty set + //------------------------------------------------------------------------- + BOOST_CHECK_EQUAL(IntervalMapT().empty(), true); + BOOST_CHECK_EQUAL(icl::is_empty(IntervalMapT()), true); + BOOST_CHECK_EQUAL(cardinality(IntervalMapT()), boost::icl::identity_element<size_T>::value()); + BOOST_CHECK_EQUAL(IntervalMapT().size(), boost::icl::identity_element<size_T>::value()); + BOOST_CHECK_EQUAL(icl::size(IntervalMapT()), boost::icl::identity_element<size_T>::value()); + BOOST_CHECK_EQUAL(interval_count(IntervalMapT()), 0); + BOOST_CHECK_EQUAL(IntervalMapT().iterative_size(), 0); + BOOST_CHECK_EQUAL(iterative_size(IntervalMapT()), 0); + BOOST_CHECK_EQUAL(IntervalMapT(), IntervalMapT()); + + IntervalT mt_interval = boost::icl::identity_element<IntervalT >::value(); + BOOST_CHECK_EQUAL(mt_interval, IntervalT()); + typename IntervalMapT::value_type mt_u1 = make_pair(mt_interval, u1); + IntervalMapT mt_map = boost::icl::identity_element<IntervalMapT >::value(); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + //adding emptieness to emptieness yields emptieness ;) + mt_map.add(mt_u1).add(mt_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + mt_map.insert(mt_u1).insert(mt_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + (mt_map += mt_u1) += mt_u1; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + BOOST_CHECK_EQUAL(hull(mt_map), boost::icl::identity_element<IntervalT >::value()); + + //subtracting emptieness + mt_map.subtract(mt_u1).subtract(mt_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + mt_map.erase(mt_interval).erase(mt_interval); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + (mt_map -= mt_u1) -= mt_u1; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + //subtracting elements form emptieness + typename IntervalMapT::domain_mapping_type v0_u1 = make_pair(v0,u1); + typename IntervalMapT::domain_mapping_type v1_u1 = make_pair(v1,u1); + //mt_map.subtract(make_pair(v0,u1)).subtract(make_pair(v1,u1)); + mt_map.subtract(v0_u1).subtract(v1_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + mt_map.erase(v0_u1).erase(v1_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + (mt_map -= v0_u1) -= v1_u1; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + //subtracting intervals form emptieness + typename IntervalMapT::segment_type I0_0I_u1 = make_pair(I0_0I,u1); + typename IntervalMapT::segment_type I0_1I_u1 = make_pair(I0_1I,u1); + typename IntervalMapT::segment_type I1_1I_u1 = make_pair(I1_1I,u1); + mt_map.subtract(I0_1I_u1).subtract(I1_1I_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + mt_map.erase(I0_1I_u1).erase(I1_1I_u1); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + (mt_map -= I0_1I_u1) -= I1_1I_u1; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + mt_map.erase(I0_1I).erase(I1_1I); + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + //insecting emptieness + (mt_map &= mt_u1) &= mt_u1; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + (mt_map &= mt_interval) &= mt_interval; + BOOST_CHECK_EQUAL(mt_map, IntervalMapT()); + + + + //------------------------------------------------------------------------- + //unary set + //------------------------------------------------------------------------- + IntervalMapT single_I0_0I_u1_from_element(v0_u1); + IntervalMapT single_I0_0I_u1_from_interval(I0_0I_u1); + IntervalMapT single_I0_0I_u1(single_I0_0I_u1_from_interval); + + BOOST_CHECK_EQUAL(single_I0_0I_u1_from_element, single_I0_0I_u1_from_interval); + BOOST_CHECK_EQUAL(single_I0_0I_u1_from_element, single_I0_0I_u1); + BOOST_CHECK_EQUAL(hull(single_I0_0I_u1), I0_0I); + BOOST_CHECK_EQUAL(hull(single_I0_0I_u1).lower(), I0_0I.lower()); + BOOST_CHECK_EQUAL(hull(single_I0_0I_u1).upper(), I0_0I.upper()); + + IntervalMapT single_I1_1I_u1_from_element(v1_u1); + IntervalMapT single_I1_1I_u1_from_interval(I1_1I_u1); + IntervalMapT single_I1_1I_u1(single_I1_1I_u1_from_interval); + + BOOST_CHECK_EQUAL(single_I1_1I_u1_from_element, single_I1_1I_u1_from_interval); + BOOST_CHECK_EQUAL(single_I1_1I_u1_from_element, single_I1_1I_u1); + + IntervalMapT single_I0_1I_u1_from_interval(I0_1I_u1); + IntervalMapT single_I0_1I_u1(single_I0_1I_u1_from_interval); + + BOOST_CHECK_EQUAL(single_I0_1I_u1_from_interval, single_I0_1I_u1); + BOOST_CHECK_EQUAL(hull(single_I0_1I_u1), I0_1I); + BOOST_CHECK_EQUAL(hull(single_I0_1I_u1).lower(), I0_1I.lower()); + BOOST_CHECK_EQUAL(hull(single_I0_1I_u1).upper(), I0_1I.upper()); + + //contains predicate + BOOST_CHECK_EQUAL(icl::contains(single_I0_0I_u1, v0), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_0I_u1, v0_u1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_0I_u1, I0_0I_u1), true); + + BOOST_CHECK_EQUAL(icl::contains(single_I1_1I_u1, v1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I1_1I_u1, v1_u1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I1_1I_u1, I1_1I_u1), true); + + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, v0), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, I0_1I_u1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, v1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, I1_1I_u1), true); + + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, single_I0_0I_u1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, single_I1_1I_u1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I_u1, single_I0_1I_u1), true); + + BOOST_CHECK_EQUAL(cardinality(single_I0_0I_u1), unit_element<size_T>::value()); + BOOST_CHECK_EQUAL(single_I0_0I_u1.size(), unit_element<size_T>::value()); + BOOST_CHECK_EQUAL(interval_count(single_I0_0I_u1), 1); + BOOST_CHECK_EQUAL(single_I0_0I_u1.iterative_size(), 1); + BOOST_CHECK_EQUAL(iterative_size(single_I0_0I_u1), 1); + +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_ctor_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + T v4 = make<T>(4); + U u2 = make<U>(2); + IntervalT I4_4I(v4); + typename IntervalMapT::domain_mapping_type v4_u2(v4,u2); + typename IntervalMapT::value_type I4_4I_u2(I4_4I,u2); + + IntervalMapT _I4_4I_u2; + BOOST_CHECK_EQUAL( _I4_4I_u2.empty(), true ); + IntervalMapT _I4_4I_u2_1; + IntervalMapT _I4_4I_u2_2; + IntervalMapT _I4_4I_u2_3; + _I4_4I_u2 += v4_u2; + _I4_4I_u2_1 += I4_4I_u2; + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_1 ); + _I4_4I_u2_2.add(v4_u2); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_2 ); + _I4_4I_u2_3.add(I4_4I_u2); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_3 ); + + _I4_4I_u2.clear(); + _I4_4I_u2.add(I4_4I_u2).add(I4_4I_u2); + IntervalMapT _I4_4I_u4(make_pair(I4_4I, make<U>(4))); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u4 ); + + _I4_4I_u2.clear(); + _I4_4I_u2.insert(I4_4I_u2).insert(I4_4I_u2); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_1 ); + + BOOST_CHECK_EQUAL( cardinality(_I4_4I_u2), unit_element<typename IntervalMapT::size_type>::value() ); + BOOST_CHECK_EQUAL( _I4_4I_u2.size(), unit_element<typename IntervalMapT::size_type>::value() ); + BOOST_CHECK_EQUAL( interval_count(_I4_4I_u2), 1 ); + BOOST_CHECK_EQUAL( _I4_4I_u2.iterative_size(), 1 ); + BOOST_CHECK_EQUAL( iterative_size(_I4_4I_u2), 1 ); + + if(has_dynamic_bounds<IntervalT>::value) + { + BOOST_CHECK_EQUAL( hull(_I4_4I_u2).lower(), v4 ); + BOOST_CHECK_EQUAL( hull(_I4_4I_u2).upper(), v4 ); + } + + IntervalMapT _I4_4I_u2_copy(_I4_4I_u2); + IntervalMapT _I4_4I_u2_assigned; + _I4_4I_u2_assigned = _I4_4I_u2; + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_copy ); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_assigned ); + + _I4_4I_u2_assigned.clear(); + BOOST_CHECK_EQUAL( true, _I4_4I_u2_assigned.empty() ); + + _I4_4I_u2_assigned.swap(_I4_4I_u2_copy); + BOOST_CHECK_EQUAL( true, _I4_4I_u2_copy.empty() ); + BOOST_CHECK_EQUAL( _I4_4I_u2, _I4_4I_u2_assigned ); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_add_sub_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + T v0 = make<T>(0); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v9 = make<T>(9); + U u1 = make<U>(1); +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + IntervalT I5_6I(v5,v6, interval_bounds::closed()); + IntervalT I5_9I(v5,v9, interval_bounds::closed()); + IntervalT I0_9I = IntervalT::closed(v0, v9); +#else + IntervalT I5_6I = icl::interval<T>::closed(v5,v6); + IntervalT I5_9I = icl::interval<T>::closed(v5,v9); + IntervalT I0_9I = icl::interval<T>::closed(v0,v9); +#endif + typename IntervalMapT::domain_mapping_type v0_u1 = make_pair(v0, u1); + typename IntervalMapT::domain_mapping_type v9_u1 = make_pair(v9, u1); + typename IntervalMapT::value_type I5_6I_u1 = make_pair(I5_6I, u1); + typename IntervalMapT::value_type I5_9I_u1 = make_pair(I5_9I, u1); + + BOOST_CHECK_EQUAL( IntervalMapT(I5_6I_u1).add(v0_u1).add(v9_u1), + IntervalMapT().add(v9_u1).add(I5_6I_u1).add(v0_u1) ); + + IntervalMapT map_A = IntervalMapT(I5_6I_u1).add(v0_u1).add(v9_u1); + IntervalMapT map_B = IntervalMapT().insert(v9_u1).insert(I5_6I_u1).insert(v0_u1); + BOOST_CHECK_EQUAL( map_A, map_B ); + BOOST_CHECK_EQUAL( hull(map_A), I0_9I ); + BOOST_CHECK_EQUAL( hull(map_A).lower(), I0_9I.lower() ); + BOOST_CHECK_EQUAL( hull(map_A).upper(), I0_9I.upper() ); + + IntervalMapT map_A1 = map_A, map_B1 = map_B, + map_A2 = map_A, map_B2 = map_B; + + map_A1.subtract(I5_6I_u1).subtract(v9_u1); + map_B1.erase(v9_u1).erase(I5_6I_u1); + BOOST_CHECK_EQUAL( map_A1, map_B1 ); + + map_B1 = map_B; + map_B2.erase(v9).erase(I5_6I); + BOOST_CHECK_EQUAL( map_A1, map_B2 ); + + map_A2.subtract(I5_9I_u1); + map_B2.erase(I5_9I); + BOOST_CHECK_EQUAL( map_A2, map_B2 ); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_distinct_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMap<T,U>::size_type size_T; + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + U u1 = make<U>(1); + typename IntervalMapT::domain_mapping_type v1_u1(v1,u1); + typename IntervalMapT::domain_mapping_type v3_u1(v3,u1); + typename IntervalMapT::domain_mapping_type v5_u1(v5,u1); + + size_T s3 = make<size_T>(3); + + IntervalMapT is_1_3_5; + is_1_3_5.add(v1_u1).add(v3_u1).add(v5_u1); + + BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 ); + BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 ); + BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 ); + BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( iterative_size(is_1_3_5), 3 ); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_distinct_4_bicremental_continuous_types() +{ +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::size_type size_T; + typedef typename IntervalMapT::difference_type diff_T; + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + U u1 = make<U>(1); + typename IntervalMapT::domain_mapping_type v1_u1(v1,u1); + typename IntervalMapT::domain_mapping_type v3_u1(v3,u1); + typename IntervalMapT::domain_mapping_type v5_u1(v5,u1); + + size_T s3 = make<size_T>(3); + diff_T d0 = make<diff_T>(0); + diff_T d2 = make<diff_T>(2); + + IntervalMapT is_1_3_5; + is_1_3_5.add(v1_u1).add(v3_u1).add(v5_u1); + + BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 ); + BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 ); + icl::length(is_1_3_5); + BOOST_CHECK_EQUAL( icl::length(is_1_3_5), d0 ); + BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 ); + BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( iterative_size(is_1_3_5), 3 ); + + + IntervalMapT is_123_5; + is_123_5 = is_1_3_5; + //OPROM: open problem: Ambiguity resolving value_type and mapping_type for overloaded o= operators. + //is_123_5 += make_pair(IntervalT::open(v1,v3),u1); //error C2593: 'operator +=' is ambiguous + //is_123_5 += make_pair<IntervalT, U>(IntervalT::open(v1,v3),u1); //error C2593: 'operator +=' is ambiguous + //USASO: unsatisfctory solution 1: explicit IntervalMapT::value_type instead of make_pair + is_123_5 += typename IntervalMapT::value_type(icl::interval<T>::open(v1,v3),u1); + //USASO: unsatisfctory solution 2: not implementing mapping_type version of o= + + BOOST_CHECK_EQUAL( cardinality(is_123_5), icl::infinity<size_T>::value() ); + BOOST_CHECK_EQUAL( is_123_5.size(), icl::infinity<size_T>::value() ); + BOOST_CHECK_EQUAL( icl::length(is_123_5), d2 ); + +#endif //BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_isolate_4_bicremental_continuous_types() +{ +#ifndef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS + + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typedef typename IntervalMapT::size_type size_T; + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v4 = make<T>(4); + U u1 = make<U>(1); + IntervalT I0_4I = icl::interval<T>::closed(v0,v4); + IntervalT C0_2D = icl::interval<T>::open(v0,v2); + IntervalT C2_4D = icl::interval<T>::open(v2,v4); + typename IntervalMapT::value_type I0_4I_u1(I0_4I,u1); + typename IntervalMapT::value_type C0_2D_u1(C0_2D,u1); + typename IntervalMapT::value_type C2_4D_u1(C2_4D,u1); + // {[0 4]} + // - { (0,2) (2,4) } + // = {[0] [2] [4]} + IntervalMapT iso_map = IntervalMapT(I0_4I_u1); + IntervalMapT gap_set; + gap_set.add(C0_2D_u1).add(C2_4D_u1); + iso_map -= gap_set; + + BOOST_CHECK_EQUAL( cardinality(iso_map), static_cast<size_T>(3) ); + BOOST_CHECK_EQUAL( iso_map.iterative_size(), static_cast<std::size_t>(3) ); + BOOST_CHECK_EQUAL( iterative_size(iso_map), static_cast<std::size_t>(3) ); + BOOST_CHECK_EQUAL( iterative_size(iso_map), static_cast<std::size_t>(3) ); + + IntervalMapT iso_map2; + iso_map2.add(I0_4I_u1); + iso_map2.subtract(C0_2D_u1).subtract(C2_4D_u1); + + IntervalMapT iso_map3(I0_4I_u1); + (iso_map3 -= C0_2D_u1) -= C2_4D_u1; + + IntervalMapT iso_map4; + iso_map4.insert(I0_4I_u1); + iso_map4.erase(C0_2D_u1).erase(C2_4D_u1); + + BOOST_CHECK_EQUAL( iso_map, iso_map2 ); + BOOST_CHECK_EQUAL( iso_map, iso_map3 ); + BOOST_CHECK_EQUAL( iso_map, iso_map4 ); +#endif //BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_contains_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::set_type IntervalSetT; + + IntervalMapT itv_map; + itv_map.add(K_v(3,1)); + + BOOST_CHECK_EQUAL( icl::contains(itv_map, MK_v(3)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, K_v(3,1)), true ); + + BOOST_CHECK_EQUAL( icl::contains(IntervalMapT().add(K_v(3,1)), K_v(3,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(IntervalMapT().add(K_v(3,1)), MK_v(3)), true ); + BOOST_CHECK_EQUAL( icl::contains(IntervalMapT().insert(K_v(3,1)), K_v(3,1)), true ); + itv_map.clear(); + BOOST_CHECK_EQUAL( icl::contains((itv_map += IIv(3,7,1)), IIv(3,7,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, IIv(3,7,2)), false ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(3,7)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(4,6)), true ); + BOOST_CHECK_EQUAL( icl::contains((itv_map += CIv(7,9,1)),IIv(3,9,1)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(4,8)), true ); + BOOST_CHECK_EQUAL( icl::contains((itv_map += IIv(11,12,1)), IIv(3,12,1)), false ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(4,11)), false ); + + IntervalMapT itv_map0 = itv_map; + + itv_map.clear(); + IntervalMapT itv_map2(IIv(5,8,1)); + itv_map2.add(K_v(9,1)).add(K_v(11,1)); + itv_map += itv_map2; + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_map2), true ); + IntervalSetT itv_set2; + icl::domain(itv_set2, itv_map2); + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_set2), true ); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_contains_key_objects_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::set_type IntervalSetT; + IntervalMapT itv_map; + + itv_map.add(IDv(1,3,1)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, MK_v(0)), false ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, MK_v(2)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, MK_v(3)), false ); + + itv_map.add(IDv(3,6,2)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(0,0)), false ); + contains(itv_map, I_I(2,4)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(2,4)), true ); + BOOST_CHECK_EQUAL( icl::contains(itv_map, I_I(6,6)), false ); + + itv_map.add(IDv(8,9,2)); + + IntervalSetT itv_set; + itv_set.add(C_I(1,2)).add(C_D(2,6)).add(I_I(8,8)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_set), true ); + itv_set.add(I_I(1,4)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_set), true ); + itv_set.add(I_I(1,4)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_set), true ); + itv_set.add(I_I(7,7)); + BOOST_CHECK_EQUAL( icl::contains(itv_map, itv_set), false ); + +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_operators_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + T v0 = make<T>(0); + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + T v7 = make<T>(7); + T v8 = make<T>(8); + U u1 = make<U>(1); + //typename IntervalMapT::interval_type I3_5I(icl::interval<T>::closed(v3,v5)); + typename IntervalMapT::value_type I0_1I_u1(icl::interval<T>::closed(v0,v1),u1); + typename IntervalMapT::value_type I3_5I_u1(icl::interval<T>::closed(v3,v5),u1); + typename IntervalMapT::value_type I7_8I_u1(icl::interval<T>::closed(v7,v8),u1); + + IntervalMapT left, left2, right, all, section, complement; + left.add(I0_1I_u1).add(I3_5I_u1); + (right += I3_5I_u1) += I7_8I_u1; + BOOST_CHECK_EQUAL( disjoint(left, right), false ); + BOOST_CHECK_EQUAL( intersects(left, right), true ); + + (all += left) += right; + (section += left) &= right; + all -= section; + complement += all; + //complement.erase(I3_5I); + icl::erase(complement, section); + BOOST_CHECK_EQUAL( disjoint(section, complement), true ); + BOOST_CHECK_EQUAL( intersects(section, complement), false ); +} + + +// Test for nontrivial intersection of interval maps with intervals and values +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_base_intersect_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + U u1 = make<U>(1); + + IntervalT I0_3D = icl::interval<T>::right_open(v0,v3); + IntervalT I1_3D = icl::interval<T>::right_open(v1,v3); + IntervalT I1_4D = icl::interval<T>::right_open(v1,v4); + IntervalT I1_8D = icl::interval<T>::right_open(v1,v8); + IntervalT I2_7D = icl::interval<T>::right_open(v2,v7); + IntervalT I2_3D = icl::interval<T>::right_open(v2,v3); + IntervalT I5_8D = icl::interval<T>::right_open(v5,v8); + IntervalT I6_7D = icl::interval<T>::right_open(v6,v7); + IntervalT I6_8D = icl::interval<T>::right_open(v6,v8); + IntervalT I6_9D = icl::interval<T>::right_open(v6,v9); + + typename IntervalMapT::value_type I0_3D_1(I0_3D, u1); + typename IntervalMapT::value_type I6_9D_1(I6_9D, u1); + typename IntervalMapT::value_type I1_3D_1(I1_3D, u1); + typename IntervalMapT::value_type I6_8D_1(I6_8D, u1); + typename IntervalMapT::value_type I2_3D_1(I2_3D, u1); + typename IntervalMapT::value_type I6_7D_1(I6_7D, u1); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // &= [1 8) + //map_AB -> [1 3) [6 8) + // 1 1 + // &= [2 7) + // -> [2 3) [6 7) + // 1 1 + IntervalMap<T,U> map_A, map_AB, map_ab, map_ab2; + interval_set<T> set_B; + map_A.add(I0_3D_1).add(I6_9D_1); + map_AB = map_A; + map_AB &= I1_8D; + map_ab.add(I1_3D_1).add(I6_8D_1); + + BOOST_CHECK_EQUAL( map_AB, map_ab ); + + map_AB = map_A; + (map_AB &= I1_8D) &= I2_7D; + map_ab2.add(I2_3D_1).add(I6_7D_1); + + BOOST_CHECK_EQUAL( map_AB, map_ab2 ); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // &= [1 4) [5 8) + //map_AB -> [1 3) [6 8) + // 1 1 + // &= [2 4) [5 7) + // -> [2 3) [6 7) + // 1 1 + map_A.clear(); + map_A.add(I0_3D_1).add(I6_9D_1); + set_B.add(I1_4D).add(I5_8D); + map_AB = map_A; + + map_AB &= set_B; + map_ab.clear(); + map_ab.add(I1_3D_1).add(I6_8D_1); + BOOST_CHECK_EQUAL( map_AB, map_ab ); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // &= 1 + //map_AB -> [1] + // 1 + + map_A.clear(); + map_A.add(I0_3D_1).add(I6_9D_1); + map_AB = map_A; + map_AB &= v1; + map_ab.clear(); + map_ab.add(mapping_pair<T,U>(v1,u1)); + + BOOST_CHECK_EQUAL( map_AB, map_ab ); +} + + +// Test for nontrivial erasure of interval maps with intervals and interval sets +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_base_erase_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + U u1 = make<U>(1); + + IntervalT I0_1D = icl::interval<T>::right_open(v0,v1); + IntervalT I0_2D = icl::interval<T>::right_open(v0,v2); + IntervalT I0_3D = icl::interval<T>::right_open(v0,v3); + IntervalT I1_3D = icl::interval<T>::right_open(v1,v3); + //IntervalT I1_4D = icl::interval<T>::right_open(v1,v4); + IntervalT I1_8D = icl::interval<T>::right_open(v1,v8); + IntervalT I2_4D = icl::interval<T>::right_open(v2,v4); + IntervalT I2_7D = icl::interval<T>::right_open(v2,v7); + IntervalT I2_3D = icl::interval<T>::right_open(v2,v3); + IntervalT I5_7D = icl::interval<T>::right_open(v5,v7); + //IntervalT I5_8D = icl::interval<T>::right_open(v5,v8); + IntervalT I6_7D = icl::interval<T>::right_open(v6,v7); + IntervalT I6_8D = icl::interval<T>::right_open(v6,v8); + IntervalT I6_9D = icl::interval<T>::right_open(v6,v9); + IntervalT I7_9D = icl::interval<T>::right_open(v7,v9); + IntervalT I8_9D = icl::interval<T>::right_open(v8,v9); + + typename IntervalMapT::value_type I0_1D_1(I0_1D, u1); + typename IntervalMapT::value_type I0_3D_1(I0_3D, u1); + typename IntervalMapT::value_type I0_2D_1(I0_2D, u1); + typename IntervalMapT::value_type I6_9D_1(I6_9D, u1); + typename IntervalMapT::value_type I1_3D_1(I1_3D, u1); + typename IntervalMapT::value_type I6_8D_1(I6_8D, u1); + typename IntervalMapT::value_type I2_3D_1(I2_3D, u1); + typename IntervalMapT::value_type I6_7D_1(I6_7D, u1); + typename IntervalMapT::value_type I7_9D_1(I7_9D, u1); + typename IntervalMapT::value_type I8_9D_1(I8_9D, u1); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // erase [2 7) + //map_A2 -> [0 2) [7 9) + // 1 1 + // erase [1 8) + // -> [0 1) [8 9) + // 1 1 + IntervalMap<T,U> map_A, map_A2, map_A3, map_check2, map_check3; + interval_set<T> set_B; + map_A.add(I0_3D_1).add(I6_9D_1); + map_A2 = map_A; + map_A2.erase(I2_7D); + map_check2.add(I0_2D_1).add(I7_9D_1); + BOOST_CHECK_EQUAL( map_A2, map_check2 ); + + map_A3 = map_A2; + map_A3.erase(I1_8D); + map_check3.add(I0_1D_1).add(I8_9D_1); + BOOST_CHECK_EQUAL( map_A3, map_check3 ); + + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // erase [2 7) + // -> [0 2) [7 9) + // 1 1 + // erase [1 8) + // -> [0 1) [8 9) + // 1 1 + map_A3 = map_A; + map_A3.erase(I2_7D).erase(I1_8D); + BOOST_CHECK_EQUAL( map_A3, map_check3 ); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // -= [2 7) + // -> [0 2) [7 9) + // 1 1 + // -= [1 8) + // -> [0 1) [8 9) + // 1 1 + map_A3 = map_A; + (map_A3 -= I2_7D) -= I1_8D; + BOOST_CHECK_EQUAL( map_A3, map_check3 ); + + //-------------------------------------------------------------------------- + //map_A [0 3) [6 9) + // 1 1 + // erase [2 4) [5 7) + // -> [0 2) [7 9) + // 1 1 + map_A3 = map_A; + set_B.add(I2_4D).add(I5_7D); + map_A3 -= set_B; + BOOST_CHECK_EQUAL( map_A3, map_check2 ); +} + + +// Test first_collision +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_base_is_disjoint_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typedef typename IntervalMap<T,U>::interval_set_type IntervalSetT; + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + U u1 = make<U>(1); + + IntervalT I0_1D = icl::interval<T>::right_open(v0,v1); + IntervalT I1_3D = icl::interval<T>::right_open(v1,v3); + IntervalT I3_6D = icl::interval<T>::right_open(v3,v6); + IntervalT I5_7D = icl::interval<T>::right_open(v5,v7); + IntervalT I6_8D = icl::interval<T>::right_open(v6,v8); + IntervalT I8_9D = icl::interval<T>::right_open(v8,v9); + + typename IntervalMapT::value_type I0_1D_1(I0_1D, u1); + typename IntervalMapT::value_type I1_3D_1(I1_3D, u1); + typename IntervalMapT::value_type I3_6D_1(I3_6D, u1); + typename IntervalMapT::value_type I5_7D_1(I5_7D, u1); + typename IntervalMapT::value_type I6_8D_1(I6_8D, u1); + typename IntervalMapT::value_type I8_9D_1(I8_9D, u1); + + //-------------------------------------------------------------------------- + //map_A [1 3) [6 8) + // 1 1 + //map_B [0 1) [3 6) [8 9) + // 1 1 1 + IntervalMapT map_A, map_B; + IntervalSetT set_A, set_B; + + map_A.add(I1_3D_1).add(I6_8D_1); + map_B.add(I0_1D_1).add(I3_6D_1).add(I8_9D_1); + BOOST_CHECK_EQUAL( disjoint(map_A, map_B), true ); + BOOST_CHECK_EQUAL( disjoint(map_B, map_A), true ); + BOOST_CHECK_EQUAL( intersects(map_A, map_B), false ); + BOOST_CHECK_EQUAL( intersects(map_B, map_A), false ); + + icl::domain(set_A, map_A); + icl::domain(set_B, map_B); + BOOST_CHECK_EQUAL( disjoint(map_A, set_B), true ); + BOOST_CHECK_EQUAL( disjoint(set_B, map_A), true ); + BOOST_CHECK_EQUAL( disjoint(set_A, map_B), true ); + BOOST_CHECK_EQUAL( disjoint(map_B, set_A), true ); + BOOST_CHECK_EQUAL( intersects(map_A, set_B), false ); + BOOST_CHECK_EQUAL( intersects(set_B, map_A), false ); + BOOST_CHECK_EQUAL( intersects(set_A, map_B), false ); + BOOST_CHECK_EQUAL( intersects(map_B, set_A), false ); + + map_A += I5_7D_1; + + BOOST_CHECK_EQUAL( disjoint(map_A, map_B), false ); + BOOST_CHECK_EQUAL( disjoint(map_B, map_A), false ); + BOOST_CHECK_EQUAL( intersects(map_A, map_B), true ); + BOOST_CHECK_EQUAL( intersects(map_B, map_A), true ); + + icl::domain(set_A, map_A); + icl::domain(set_B, map_B); + BOOST_CHECK_EQUAL( disjoint(map_A, set_B), false ); + BOOST_CHECK_EQUAL( disjoint(set_B, map_A), false ); + BOOST_CHECK_EQUAL( disjoint(set_A, map_B), false ); + BOOST_CHECK_EQUAL( disjoint(map_B, set_A), false ); + BOOST_CHECK_EQUAL( intersects(map_A, set_B), true ); + BOOST_CHECK_EQUAL( intersects(set_B, map_A), true ); + BOOST_CHECK_EQUAL( intersects(set_A, map_B), true ); + BOOST_CHECK_EQUAL( intersects(map_B, set_A), true ); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_flip_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef IntervalMapT IMap; + + IntervalMapT set_a; + //[0 2) + // 1 + // [1 3) + // 1 + //[0 1) [2 3) : {[0 2)->1} ^= ([2 3)->1) + // 1 1 + //BOOST_CHECK_EQUAL(IMap(IDv(0,2,1)) ^= (IDv(1,3,1)), IMap(IDv(0,1,1)) + IDv(2,3,1)); + set_a = IMap(IDv(0,2,1)); + IntervalMapT set_b = set_a; + BOOST_CHECK_EQUAL(set_a ^= IDv(1,3,1), IMap(IDv(0,1,1)) + IDv(2,3,1)); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_infix_plus_overload_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1); + std::pair<const IntervalT, U> val_pair2 = IDv(3,5,3); + mapping_pair<T,U> map_pair = K_v(4,3); + + IntervalMapT map_a, map_b; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + map_b.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(map_a + map_b, map_b + map_a); + //This checks all cases of is_interval_map_derivative<T> + BOOST_CHECK_EQUAL(map_a + val_pair1, val_pair1 + map_a); + BOOST_CHECK_EQUAL(map_b + val_pair2, val_pair2 + map_b); + BOOST_CHECK_EQUAL(map_b + map_pair, map_pair + map_b); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_infix_pipe_overload_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1); + std::pair<const IntervalT, U> val_pair2 = IDv(3,5,3); + mapping_pair<T,U> map_pair = K_v(4,3); + + IntervalMapT map_a, map_b; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + map_b.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + BOOST_CHECK_EQUAL(map_a | map_b, map_b | map_a); + //This checks all cases of is_interval_map_derivative<T> + BOOST_CHECK_EQUAL(map_a | val_pair1, val_pair1 | map_a); + BOOST_CHECK_EQUAL(map_b | val_pair2, val_pair2 | map_b); + BOOST_CHECK_EQUAL(map_b | map_pair, map_pair | map_b); +} + + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_infix_minus_overload_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1); + std::pair<const IntervalT, U> val_pair2 = IDv(3,5,3); + mapping_pair<T,U> map_pair = K_v(4,3); + + IntervalT itv = C_D(4,11); + typename IntervalMapT::interval_mapping_type itv_v = CDv(4,11,3); + + IntervalMapT map_a, map_b, map_c; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + map_b.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + map_c = map_a; + + interval_set<T> join_set_a; + separate_interval_set<T> sep_set_a; + split_interval_set<T> split_set_a; + join_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,9)); + sep_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,11)); + split_set_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + //Happy day overloading + BOOST_CHECK_EQUAL(map_a - map_b, (map_c = map_a) -= map_b); + BOOST_CHECK_EQUAL(map_a - map_b, map_c); + + //This checks all cases of is_interval_map_derivative<T> + BOOST_CHECK_EQUAL((map_a - val_pair1) + val_pair1, (map_a + val_pair1) - val_pair1); + BOOST_CHECK_EQUAL((map_b - val_pair2) + val_pair2, (map_b + val_pair2) - val_pair2); + BOOST_CHECK_EQUAL((map_b - map_pair) + map_pair, (map_b + map_pair) - map_pair); + + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(map_a - itv, (map_a + itv_v) - itv); + BOOST_CHECK_EQUAL(map_b - MK_v(8), (IIv(8,8,3) + map_b) - MK_v(8)); + + //This checks all cases of is_interval_set_companion<T> + BOOST_CHECK_EQUAL(map_a - split_set_a, ((split_set_a & map_a) + map_a) - split_set_a); + BOOST_CHECK_EQUAL(map_a - sep_set_a, ((sep_set_a & map_a) + map_a) - sep_set_a); + BOOST_CHECK_EQUAL(map_a - join_set_a, ((join_set_a & map_a) + map_a) - join_set_a); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_infix_et_overload_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1); + std::pair<const IntervalT, U> val_pair2 = IDv(3,5,3); + mapping_pair<T,U> map_pair = K_v(4,3); + + IntervalT itv = C_D(4,11); + + IntervalMapT map_a, map_b; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + map_b.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + interval_set<T> join_set_a; + separate_interval_set<T> sep_set_a; + split_interval_set<T> split_set_a; + join_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,9)); + sep_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,11)); + split_set_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + //Happy day overloading + BOOST_CHECK_EQUAL(map_a & map_b, map_b & map_a); + + //This checks all cases of is_interval_map_derivative<T> + BOOST_CHECK_EQUAL(map_a & val_pair1, val_pair1 & map_a); + BOOST_CHECK_EQUAL(map_b & val_pair2, val_pair2 & map_b); + BOOST_CHECK_EQUAL(map_b & map_pair, map_pair & map_b); + + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(map_a & itv, itv & map_a); + BOOST_CHECK_EQUAL(map_b & MK_v(8), MK_v(8) & map_b); + + //This checks all cases of is_interval_set_companion<T> + BOOST_CHECK_EQUAL(map_a & split_set_a, split_set_a & map_a); + BOOST_CHECK_EQUAL(map_a & sep_set_a, sep_set_a & map_a); + BOOST_CHECK_EQUAL(map_a & join_set_a, join_set_a & map_a); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_infix_caret_overload_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + + typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1); + std::pair<const IntervalT, U> val_pair2 = IDv(3,5,3); + mapping_pair<T,U> map_pair = K_v(4,3); + + //IntervalT itv = C_D(4,11); + + IntervalMapT map_a, map_b; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + map_b.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + interval_set<T> join_set_a; + separate_interval_set<T> sep_set_a; + split_interval_set<T> split_set_a; + join_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,9)); + sep_set_a .add(I_D(0,4)).add(I_I(4,6)).add(I_D(5,11)); + split_set_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + //Happy day overloading + BOOST_CHECK_EQUAL(map_a ^ map_b, map_b ^ map_a); + + //This checks all cases of is_interval_map_derivative<T> + BOOST_CHECK_EQUAL(map_a ^ val_pair1, val_pair1 ^ map_a); + BOOST_CHECK_EQUAL(map_b ^ val_pair2, val_pair2 ^ map_b); + BOOST_CHECK_EQUAL(map_b ^ map_pair, map_pair ^ map_b); +} + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_find_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::const_iterator c_iterator; + + IntervalMapT map_a; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + // {(1 3) [6 8)[8 9)[9 11) + // 1 3 4 3 + // 5? 6? + c_iterator found1 = map_a.find(MK_v(6)); + c_iterator found2 = icl::find(map_a, MK_v(6)); + + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK_EQUAL( found1->second, found2->second ); + BOOST_CHECK_EQUAL( found1->second, MK_u(3) ); + BOOST_CHECK_EQUAL( map_a(MK_v(6)), MK_u(3) ); + + found1 = map_a.find(MK_v(5)); + + BOOST_CHECK_EQUAL( found1 == map_a.end(), true ); + BOOST_CHECK_EQUAL( map_a(MK_v(5)), MK_u(0) ); + BOOST_CHECK_EQUAL( map_a(MK_v(8)), MK_u(4) ); + + /*JODO fix err for boost::chrono instantiation + T k_2 = MK_v( 2); + T k_11 = MK_v(11); + //LAW map c; key k: k in dom(c) => contains(c, (k, find(c, k)->second)) + BOOST_CHECK( icl::contains(map_a, K_v(k_2, icl::find(map_a, k_2)->second)) ); + BOOST_CHECK( icl::contains(map_a, K_v(k_11, map_a.find(k_11)->second)) ); + */ + BOOST_CHECK( icl::contains(map_a, MK_v(2)) ); + BOOST_CHECK( icl::contains(map_a, MK_v(10)) ); + BOOST_CHECK( !icl::contains(map_a, MK_v(1)) ); + BOOST_CHECK( !icl::contains(map_a, MK_v(3)) ); + BOOST_CHECK( !icl::contains(map_a, MK_v(12)) ); + + BOOST_CHECK( icl::intersects(map_a, MK_v(2)) ); + BOOST_CHECK( icl::intersects(map_a, MK_v(10)) ); + BOOST_CHECK( !icl::intersects(map_a, MK_v(1)) ); + BOOST_CHECK( !icl::intersects(map_a, MK_v(3)) ); + BOOST_CHECK( !icl::intersects(map_a, MK_v(12)) ); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_find_4_numeric_continuous_types() +{ +#ifndef BOOST_ICL_TEST_CHRONO + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typedef typename IntervalMapT::const_iterator c_iterator; + + T q_1_2 = MK_v(1) / MK_v(2);//JODO Doesn't work with chrono + T q_3_2 = MK_v(3) / MK_v(2); + T q_1_3 = MK_v(1) / MK_v(3); + T q_2_3 = MK_v(2) / MK_v(3); + T q_4_3 = MK_v(4) / MK_v(3); + T q_5_3 = MK_v(5) / MK_v(3); + + IntervalMapT map_a; + map_a.add(MK_seg(IntervalT(q_1_3, q_2_3), 1)).add(MK_seg(IntervalT(q_4_3, q_5_3), 2)); + // {[1/3 2/3) [4/3 5/3)} + // 1 2 + + c_iterator found1 = map_a.find(q_1_2); + c_iterator found2 = icl::find(map_a, q_1_2); + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK_EQUAL( found1->second, found2->second ); + BOOST_CHECK_EQUAL( found1->second, MK_u(1) ); + + found1 = map_a.find(q_3_2); + found2 = icl::find(map_a, q_3_2); + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK_EQUAL( found1->second, found2->second ); + BOOST_CHECK_EQUAL( found1->second, MK_u(2) ); + + if( mpl::or_<mpl::not_<is_static_left_open<IntervalT> >, boost::is_signed<T> >::value ) + { + found1 = map_a.find(MK_v(0)); + found2 = icl::find(map_a, MK_v(0)); + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK ( found1 == map_a.end() ); + } + + found1 = map_a.find(MK_v(1)); + found2 = icl::find(map_a, MK_v(1)); + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK ( found1 == map_a.end() ); + + if( mpl::or_<mpl::not_<is_static_left_open<IntervalT> >, boost::is_signed<T> >::value ) + { + BOOST_CHECK( !icl::contains(map_a, MK_v(0)) ); + } + BOOST_CHECK( icl::contains(map_a, q_1_2) ); + BOOST_CHECK( !icl::contains(map_a, MK_v(1)) ); + BOOST_CHECK( icl::contains(map_a, q_3_2) ); + BOOST_CHECK( !icl::contains(map_a, MK_v(2)) ); +#endif +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_range_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + typedef typename IntervalMapT::interval_type IntervalT; + typedef typename IntervalMapT::const_iterator c_iterator; + + IntervalMapT map_a; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + // {(1 3) [6 8)[8 9)[9 11) + // 1 3 4 3 + // [2 7) := itv + + IntervalT itv = I_D(2, 7); + c_iterator lwb1 = icl::find(map_a, itv); + c_iterator lwb2 = map_a.lower_bound(itv); + + BOOST_CHECK ( lwb1 == lwb2 ); + BOOST_CHECK_EQUAL( lwb1->second, lwb2->second ); + BOOST_CHECK_EQUAL( lwb1->second, MK_u(1) ); + + c_iterator upb1 = map_a.upper_bound(itv); + BOOST_CHECK_EQUAL( upb1->second, MK_u(4) ); + + std::pair<c_iterator,c_iterator> exterior = map_a.equal_range(itv); + BOOST_CHECK ( lwb1 == exterior.first ); + BOOST_CHECK ( upb1 == exterior.second ); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_set_4_bicremental_types() +{ + typedef IntervalMap<T,U> IntervalMapT; + + IntervalMapT map_a; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + + BOOST_CHECK_EQUAL( icl::contains(map_a.set(CDv(2,10,4)), CDv(2,10,4)), true ); + BOOST_CHECK_EQUAL( icl::contains(map_a.set(K_v(4,5)), K_v(4,5)), true ); + BOOST_CHECK_EQUAL( icl::contains(map_a.set(K_v(4,5)).set(CDv(3,5,6)), CDv(3,5,6)), true ); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void interval_map_inclusion_compare_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef typename IntervalMap<T,U,Trt>::set_type IntervalSetT; + + IntervalMapT itv_map_sub_a, itv_map_a, itv_map_a2, itv_map_super_a, + itv_map_b, itv_map_c; + itv_map_sub_a.add(IDv(2,4,1)).add(IIv(6,7,3)); + itv_map_a = itv_map_sub_a; + itv_map_a.add(IIv(9,9,1)); + itv_map_a2 = itv_map_a; + itv_map_c = itv_map_sub_a; + itv_map_c.erase(MK_v(7)).add(IIv(11,11,2)); + itv_map_b = itv_map_a; + itv_map_b.set(IIv(6,7,2)); + + + BOOST_CHECK_EQUAL( inclusion_compare(IntervalMapT(), IntervalMapT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, itv_map_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, itv_map_a2), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, IntervalMapT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, itv_map_sub_a), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(IntervalMapT(), itv_map_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_sub_a, itv_map_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, itv_map_b), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, itv_map_c), inclusion::unrelated ); + + IntervalSetT set_sub_a, set_a, set_a2, set_b, set_c; + icl::domain(set_a, itv_map_a); + icl::domain(set_a2, itv_map_a2); + icl::domain(set_sub_a, itv_map_sub_a); + + BOOST_CHECK_EQUAL( inclusion_compare(IntervalMapT(), IntervalSetT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(IntervalSetT(), IntervalMapT()), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(IntervalSetT(), IntervalSetT()), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, set_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, itv_map_a), inclusion::equal ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, set_a2), inclusion::equal ); + + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, IntervalSetT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_a, set_sub_a), inclusion::superset ); + + BOOST_CHECK_EQUAL( inclusion_compare(IntervalSetT(), itv_map_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_sub_a, itv_map_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(set_a, IntervalSetT()), inclusion::superset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_a, set_sub_a), inclusion::superset ); + + BOOST_CHECK_EQUAL( inclusion_compare(IntervalSetT(), set_a), inclusion::subset ); + BOOST_CHECK_EQUAL( inclusion_compare(set_sub_a, set_a), inclusion::subset ); + + BOOST_CHECK_EQUAL( inclusion_compare(set_a, itv_map_c), inclusion::unrelated ); + BOOST_CHECK_EQUAL( inclusion_compare(itv_map_c, set_a), inclusion::unrelated ); + +} + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void interval_map_std_copy_via_inserter_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; //Nedded for the test value generator + typedef typename IntervalMapT::interval_type IntervalT; + + // Check equality of copying using handcoded loop or std::copy via inserter. + typedef std::pair<IntervalT, U> SegmentT; + std::vector<SegmentT> seg_vec_a; + IntervalMapT std_copied_map; + + // For an empty sequence + test_interval_map_copy_via_inserter(seg_vec_a, std_copied_map); + + // For an singleton sequence + seg_vec_a.push_back(IDv(0,1,1)); + test_interval_map_copy_via_inserter(seg_vec_a, std_copied_map); + + // Two separate segments + seg_vec_a.push_back(IDv(3,5,1)); + test_interval_map_copy_via_inserter(seg_vec_a, std_copied_map); + + // Touching case + seg_vec_a.push_back(IDv(5,7,1)); + test_interval_map_copy_via_inserter(seg_vec_a, std_copied_map); + + // Overlapping case + seg_vec_a.push_back(IDv(6,9,1)); + test_interval_map_copy_via_inserter(seg_vec_a, std_copied_map); + +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void interval_map_element_iter_4_discrete_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef std::vector<std::pair<T,U> > VectorT; + + IntervalMapT map_a; + map_a.insert(IIv(1,3,1)).insert(IIv(6,7,2)); + + typename IntervalMapT::atomized_type ato_map_a; + //ReptatorT el_it = elements_begin(map_a); + + VectorT vec(5), cev(5); + vec[0]=sK_v(1,1);vec[1]=sK_v(2,1);vec[2]=sK_v(3,1);vec[3]=sK_v(6,2);vec[4]=sK_v(7,2); + cev[0]=sK_v(7,2);cev[1]=sK_v(6,2);cev[2]=sK_v(3,1);cev[3]=sK_v(2,1);cev[4]=sK_v(1,1); + + VectorT dest; + std::copy(elements_begin(map_a), elements_end(map_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( vec == dest, true ); + + dest.clear(); + std::copy(elements_rbegin(map_a), elements_rend(map_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( cev == dest, true ); + + dest.clear(); + std::reverse_copy(elements_rbegin(map_a), elements_rend(map_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( vec == dest, true ); + + dest.clear(); + std::reverse_copy(elements_begin(map_a), elements_end(map_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( cev == dest, true ); + +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_intersects_4_bicremental_types() +{ + // Test of intersects and disjoint for domain_type and interval_type. + typedef IntervalMap<T,U> IntervalMapT; + + IntervalMapT map_a; + map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3)); + + BOOST_CHECK( icl::is_interval_container<IntervalMapT>::value ); + BOOST_CHECK( icl::has_domain_type<IntervalMapT>::value ); + BOOST_CHECK( (boost::is_same<T, typename domain_type_of<IntervalMapT>::type>::value) ); + + BOOST_CHECK( icl::intersects(map_a, MK_v(2) ) ); + BOOST_CHECK( icl::intersects(map_a, MK_v(11)) ); + BOOST_CHECK( icl::disjoint(map_a, MK_v(1) ) ); + BOOST_CHECK( icl::disjoint(map_a, MK_v(12)) ); + + BOOST_CHECK( icl::intersects(map_a, I_D(2,3)) ); + BOOST_CHECK( icl::intersects(map_a, I_D(6,8)) ); + BOOST_CHECK( icl::disjoint(map_a, I_D(3,5)) ); + BOOST_CHECK( icl::disjoint(map_a, I_D(12,14)) ); + + //-------------------------------------+ + // (1 3) [6 8)[8 9)[9 11] + // 1 3 4 3 + mapping_pair<T,U> map_pair_2_1 = K_v(2,1); + BOOST_CHECK( icl::intersects(map_a, map_pair_2_1 ) ); + BOOST_CHECK( icl::intersects(map_a, K_v(6,3) ) ); + BOOST_CHECK( icl::intersects(map_a, IDv(6,8,3) ) ); + BOOST_CHECK( icl::intersects(map_a, CIv(8,11,3) ) ); + BOOST_CHECK( icl::intersects(map_a, IIv(6,11,3) ) ); + BOOST_CHECK( icl::intersects(map_a, IIv(6,11,5) ) ); + BOOST_CHECK(!icl::intersects(map_a, IDv(4,6,5) ) ); + + BOOST_CHECK( icl::disjoint(map_a, IDv(4,6,5) ) ); + BOOST_CHECK(!icl::disjoint(map_a, IDv(0,12,1) ) ); +} + + +template +< +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,partial_absorber) IntervalMap, +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,partial_absorber) IntervalMap, +#endif + class T, class U +> +void interval_map_move_4_discrete_types() +{ +# ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + typedef IntervalMap<T,U> IntervalMapT; + + IntervalMapT map_A(boost::move(IntervalMapT(IDv(0,4,2)))); + IntervalMapT map_B(boost::move(IntervalMapT(IDv(0,2,1)).add(IDv(2,4,1)).add(IDv(0,4,1)))); + + BOOST_CHECK( icl::is_element_equal(map_A, map_B) ); + BOOST_CHECK_EQUAL( map_A, join(map_B) ); + + map_A = boost::move(IntervalMapT(IIv(1,4,2))); + map_B = boost::move(IntervalMapT(CIv(0,2,1)).insert(IDv(3,5,1)).add(CDv(0,5,1))); + + BOOST_CHECK( icl::is_element_equal(map_A, map_B) ); + BOOST_CHECK_EQUAL( map_A, join(map_B) ); + +# endif // BOOST_NO_CXX11_RVALUE_REFERENCES +} + + +#endif // LIBS_ICL_TEST_TEST_INTERVAL_MAP_SHARED_HPP_JOFA_081005 diff --git a/src/boost/libs/icl/test/test_interval_quantifier_shared.hpp b/src/boost/libs/icl/test/test_interval_quantifier_shared.hpp new file mode 100644 index 00000000..4455a4ec --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_quantifier_shared.hpp @@ -0,0 +1,301 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef __TEST_INTERVAL_QUANTIFIER_SHARED_H_JOFA_090119__ +#define __TEST_INTERVAL_QUANTIFIER_SHARED_H_JOFA_090119__ + +#include "portability.hpp" + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void make_3_itv_maps_and_derivatives_1 + (ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)& itv_map_a, + ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)& itv_map_b, + ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)& itv_map_c, + typename ICL_PORT_msvc_7_1_IntervalMap(T,U,Trt)::interval_mapping_type& val_pair, + mapping_pair<T,U>& map_pair) +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + val_pair = IDv(6,9,1); + map_pair = K_v(5,1); +} + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid with distinct equality for inversion +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus)(map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe)(map_a, map_b, map_c, val_pair, map_pair); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(plus)(is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(pipe)(is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); +#endif +} + + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_abelian_group_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_ABELIAN_GROUP_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_GROUP_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// (0 - x) + x =d= 0 +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types() +{ + // check abelian group wrt. + and inverability wrt. distinct equality =d= : + // (1) (IntervalMapT, +) is an abelian group and + // (2) The inverability law: (0 - x) + x =d= 0 holds. + typedef IntervalMap<T,U,Trt> IntervalMapT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(plus) (is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); +#endif +} + + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_inner_complementarity_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef typename IntervalMap<T,U,Trt>::set_type IntervalSetT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + has_inner_complementarity<IntervalMapT,IntervalSetT>(map_a); + has_inner_complementarity<IntervalMapT,IntervalSetT>(map_b); + has_inner_complementarity<IntervalMapT,IntervalSetT>(map_c); +} + +template +< + class T, class U, class Trt, +#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete + ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap +#else + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap +#endif +> +void itv_quantifier_check_length_complementarity_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef typename IntervalMap<T,U,Trt>::set_type IntervalSetT; + IntervalMapT map_a, map_b, map_c; + typename IntervalMapT::interval_mapping_type val_pair; + mapping_pair<T,U> map_pair; + make_3_itv_maps_and_derivatives_1(map_a, map_b, map_c, val_pair, map_pair); + + has_length_complementarity(map_a); + has_length_complementarity(map_b); + has_length_complementarity(map_c); + + has_length_as_distance<IntervalMapT,IntervalSetT>(map_a); + has_length_as_distance<IntervalMapT,IntervalSetT>(map_b); + has_length_as_distance<IntervalMapT,IntervalSetT>(map_c); +} + + + +#endif // __TEST_INTERVAL_QUANTIFIER_SHARED_H_JOFA_090119__ + diff --git a/src/boost/libs/icl/test/test_interval_set_/test_interval_set.cpp b/src/boost/libs/icl/test/test_interval_set_/test_interval_set.cpp new file mode 100644 index 00000000..c2ee2ea3 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_/test_interval_set.cpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <vector> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET interval_set +#include "../test_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj b/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj new file mode 100644 index 00000000..d4bf74b0 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}</ProjectGuid> + <RootNamespace>Test_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj.filters b/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj.filters new file mode 100644 index 00000000..b72a6c06 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_/vc10_test_interval_set.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_/vc9_test_interval_set.vcproj b/src/boost/libs/icl/test/test_interval_set_/vc9_test_interval_set.vcproj new file mode 100644 index 00000000..a37bfde3 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_/vc9_test_interval_set.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}" + RootNamespace="Test_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_set_cases.hpp b/src/boost/libs/icl/test/test_interval_set_cases.hpp new file mode 100644 index 00000000..b8e1fd54 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_cases.hpp @@ -0,0 +1,75 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_INTERVAL_SET_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_INTERVAL_SET_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_fundamentals_4_ordered_types, T, ordered_types) +{ interval_set_fundamentals_4_ordered_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_ctor_4_bicremental_types, T, bicremental_types) +{ interval_set_ctor_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_set_add_sub_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_types, T, bicremental_types) +{ interval_set_distinct_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_distinct_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_isolate_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_element_compare_4_bicremental_types, T, bicremental_types) +{ interval_set_element_compare_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_contains_4_bicremental_types, T, bicremental_types) +{ interval_set_contains_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_operators_4_bicremental_types, T, bicremental_types) +{ interval_set_operators_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_set_base_intersect_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_flip_4_bicremental_types, T, bicremental_types) +{ interval_set_flip_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_find_4_bicremental_types, T, bicremental_types) +{ interval_set_find_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_element_iter_4_discrete_types, T, discrete_types) +{ interval_set_element_iter_4_discrete_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_intersects_4_bicremental_types, T, bicremental_types) +{ interval_set_intersects_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_range_4_discrete_types, T, discrete_types) +{ interval_set_range_4_discrete_types<INTERVAL_SET, T>();} + + +#endif // BOOST_ICL_TEST_INTERVAL_SET_CASES_HPP_JOFA_090701 + + + diff --git a/src/boost/libs/icl/test/test_interval_set_infix_/test_interval_set_infix.cpp b/src/boost/libs/icl/test/test_interval_set_infix_/test_interval_set_infix.cpp new file mode 100644 index 00000000..8ef0eca6 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_infix_/test_interval_set_infix.cpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET interval_set +#include "../test_interval_set_infix_cases.hpp" + + + diff --git a/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj b/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj new file mode 100644 index 00000000..ecb658b8 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D1623E950E}</ProjectGuid> + <RootNamespace>test_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..8f986756 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_infix_/vc10_test_interval_set_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj b/src/boost/libs/icl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj new file mode 100644 index 00000000..92a7358b --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D1623E950E}" + RootNamespace="test_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_set_infix_cases.hpp b/src/boost/libs/icl/test/test_interval_set_infix_cases.hpp new file mode 100644 index 00000000..404a62f6 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_infix_cases.hpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_plus_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_pipe_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_pipe_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_minus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_minus_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_et_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_et_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_caret_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_caret_overload_4_bicremental_types<INTERVAL_SET, T>();} + +#endif // BOOST_ICL_TEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090701 + + + diff --git a/src/boost/libs/icl/test/test_interval_set_laws_shared.hpp b/src/boost/libs/icl/test/test_interval_set_laws_shared.hpp new file mode 100644 index 00000000..97c65216 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_laws_shared.hpp @@ -0,0 +1,182 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_INTERVAL_SET_LAWS_SHARED_HPP_JOFA_090201 +#define LIBS_ICL_TEST_TEST_INTERVAL_SET_LAWS_SHARED_HPP_JOFA_090201 + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, segm, elem); + CHECK_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, segm, elem); +} + + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, segm, elem); + CHECK_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, segm, elem); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, segm, elem); +} + + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, segm, elem); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, segm, elem); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, segm, elem); +} + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid with distinct equality for inversion +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus)(set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe)(set_a, set_b, set_c, segm, elem); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(plus)(is_distinct_equal, set_a, set_b, set_c, segm, elem); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(pipe)(is_distinct_equal, set_a, set_b, set_c, segm, elem); +#endif +} + + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_group_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_ABELIAN_GROUP_INSTANCE_WRT(plus) (set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_GROUP_INSTANCE_WRT(pipe) (set_a, set_b, set_c, segm, elem); +} + +//------------------------------------------------------------------------------ +// (0 - x) + x =d= 0 | +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_group_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type segm = I_D(6,9); + T elem = make<T>(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, segm, elem); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(plus) (is_distinct_equal, set_a, set_b, set_c, segm, elem); + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_distinct_equal, set_a, set_b, set_c, segm, elem); +#endif +} + +#endif // LIBS_ICL_TEST_TEST_INTERVAL_SET_LAWS_SHARED_HPP_JOFA_090201 + diff --git a/src/boost/libs/icl/test/test_interval_set_mixed.hpp b/src/boost/libs/icl/test/test_interval_set_mixed.hpp new file mode 100644 index 00000000..17377915 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_mixed.hpp @@ -0,0 +1,850 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_INTERVAL_SET_MIXED_HPP_JOFA_090702 +#define LIBS_ICL_TEST_TEST_INTERVAL_SET_MIXED_HPP_JOFA_090702 + +template <class T> +void interval_set_mixed_ctor_4_ordered_types() +{ + T v0 = boost::icl::identity_element<T>::value(); + + split_interval_set<T> split_set(v0); + separate_interval_set<T> sep_set(split_set); + interval_set<T> join_set(sep_set); + + BOOST_CHECK_EQUAL( hull(split_set).lower(), hull(sep_set).lower() ); + BOOST_CHECK_EQUAL( hull(split_set).lower(), hull(join_set).lower() ); +} + +template <class T> +void interval_set_mixed_equal_4_ordered_types() +{ + T v0 = boost::icl::identity_element<T>::value(); + + split_interval_set<T> split_empty, split_single(v0); + separate_interval_set<T> sep_empty, sep_single(v0); + interval_set<T> join_empty, join_single(v0); + + // mixed ==-equality is a strange thing. Most times is does not + // make sense. It is better to allow only for same type == equality. + BOOST_CHECK_EQUAL( split_empty == split_empty, true ); + BOOST_CHECK_EQUAL( sep_empty == sep_empty, true ); + BOOST_CHECK_EQUAL( join_empty == join_empty, true ); + + // There were Problems with operator== and emtpy sets. + BOOST_CHECK_EQUAL( split_empty == split_single, false ); + BOOST_CHECK_EQUAL( sep_empty == sep_single, false ); + BOOST_CHECK_EQUAL( join_empty == join_single, false ); + + BOOST_CHECK_EQUAL( split_single == split_empty, false ); + BOOST_CHECK_EQUAL( sep_single == sep_empty, false ); + BOOST_CHECK_EQUAL( join_single == join_empty, false ); + + BOOST_CHECK_EQUAL( is_element_equal(split_empty, split_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, sep_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, join_empty), true ); + + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, split_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, sep_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, join_empty), true ); + + BOOST_CHECK_EQUAL( is_element_equal(join_empty, split_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, sep_empty), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, join_empty), true ); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( is_element_equal(split_empty, split_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, sep_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_empty, join_single), false ); + + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, split_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, sep_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(sep_empty, join_single), false ); + + BOOST_CHECK_EQUAL( is_element_equal(join_empty, split_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, sep_single), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_empty, join_single), false ); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( is_element_equal(split_single, split_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_single, sep_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(split_single, join_empty), false ); + + BOOST_CHECK_EQUAL( is_element_equal(sep_single, split_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(sep_single, sep_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(sep_single, join_empty), false ); + + BOOST_CHECK_EQUAL( is_element_equal(join_single, split_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_single, sep_empty), false ); + BOOST_CHECK_EQUAL( is_element_equal(join_single, join_empty), false ); + +} + +template <class T> +void interval_set_mixed_assign_4_ordered_types() +{ + T v0 = boost::icl::identity_element<T>::value(); + T v1 = unit_element<T>::value(); + + split_interval_set<T> split_set; + separate_interval_set<T> sep_set; + interval_set<T> join_set; + split_set.add(v0); + sep_set = split_set; + join_set = sep_set; + + BOOST_CHECK_EQUAL( hull(split_set).lower(), hull(sep_set).lower() ); + BOOST_CHECK_EQUAL( hull(split_set).lower(), hull(join_set).lower() ); + + split_interval_set<T> split_self = split_interval_set<T>().add(v0); + separate_interval_set<T> sep_self = separate_interval_set<T>().add(v0).add(v1); + interval_set<T> join_self = interval_set<T>().add(v1); + + split_self = split_self; + sep_self = sep_self; + join_self = join_self; + + BOOST_CHECK_EQUAL( split_self, split_self ); + BOOST_CHECK_EQUAL( sep_self, sep_self ); + BOOST_CHECK_EQUAL( join_self, join_self ); +} + +template <class T> +void interval_set_mixed_ctor_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + split_interval_set<T> split_set; + split_set.add(I1_3D).add(I2_4D).add(I4_5D); + BOOST_CHECK_EQUAL( split_set.iterative_size(), 4 ); + separate_interval_set<T> sep_set(split_set); + BOOST_CHECK_EQUAL( sep_set.iterative_size(), 4 ); + interval_set<T> join_set(split_set); + BOOST_CHECK_EQUAL( join_set.iterative_size(), 1 ); + + separate_interval_set<T> sep_set2; + sep_set2.add(I1_3D).add(I2_4D).add(I4_5D); + BOOST_CHECK_EQUAL( sep_set2.iterative_size(), 2 ); + split_interval_set<T> split_set2(sep_set2); + BOOST_CHECK_EQUAL( split_set2.iterative_size(), 2 ); + interval_set<T> join_set2(sep_set2); + BOOST_CHECK_EQUAL( join_set2.iterative_size(), 1 ); +} + +template <class T> +void interval_set_mixed_assign_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + split_interval_set<T> split_set; + split_set.add(I1_3D).add(I2_4D).add(I4_5D); + BOOST_CHECK_EQUAL( split_set.iterative_size(), 4 ); + separate_interval_set<T> sep_set; + sep_set = split_set; + BOOST_CHECK_EQUAL( sep_set.iterative_size(), 4 ); + interval_set<T> join_set; + join_set = split_set; + BOOST_CHECK_EQUAL( join_set.iterative_size(), 1 ); + + separate_interval_set<T> sep_set2; + sep_set2.add(I1_3D).add(I2_4D).add(I4_5D); + BOOST_CHECK_EQUAL( sep_set2.iterative_size(), 2 ); + split_interval_set<T> split_set2; + split_set2 = sep_set2; + BOOST_CHECK_EQUAL( split_set2.iterative_size(), 2 ); + interval_set<T> join_set2; + join_set2 = sep_set2; + BOOST_CHECK_EQUAL( join_set2.iterative_size(), 1 ); +} + + +template <class T> +void interval_set_mixed_equal_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + interval_set<T> join_set; + join_set.add(I1_3D).add(I2_4D).add(I4_5D); + interval_set<T> join_set2 = join_set; + BOOST_CHECK_EQUAL( join_set, join_set2 ); + BOOST_CHECK_EQUAL( is_element_equal(join_set, join_set2), true ); + + separate_interval_set<T> sep_set; + sep_set.add(I1_3D).add(I2_4D).add(I4_5D); + + separate_interval_set<T> sep_set2 = sep_set; + BOOST_CHECK_EQUAL( sep_set, sep_set2 ); + BOOST_CHECK_EQUAL( is_element_equal(sep_set2, sep_set), true ); + + split_interval_set<T> split_set; + split_set.add(I1_3D).add(I2_4D).add(I4_5D); + split_interval_set<T> split_set2 = split_set; + BOOST_CHECK_EQUAL( split_set, split_set2 ); + BOOST_CHECK_EQUAL( is_element_equal(split_set2, split_set), true ); + + BOOST_CHECK_EQUAL( is_element_equal(split_set, join_set), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_set, sep_set), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_set, sep_set), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_set, split_set), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_set, join_set), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_set, split_set), true ); +} + +template <class T> +void interval_set_mixed_contains_4_bicremental_types() +{ + split_interval_set<T> split_set; + split_set.add(I_D(0,4)).add(I_D(4,8)); + BOOST_CHECK_EQUAL( icl::contains(split_set, MK_v(4)), true ); + BOOST_CHECK_EQUAL( icl::contains(split_set, C_D(2,5)), true ); + + interval_set<T> join_set_gap4(split_set.erase(MK_v(4))); + BOOST_CHECK_EQUAL( icl::contains(join_set_gap4, MK_v(4)), false ); + BOOST_CHECK_EQUAL( icl::contains(join_set_gap4, C_D(2,5)), false ); + + BOOST_CHECK_EQUAL( icl::contains(split_set, split_set), true ); + BOOST_CHECK_EQUAL( icl::contains(split_set, join_set_gap4), true ); + +} + +template <class T> +void interval_set_mixed_add_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I4_5D = IntervalT::right_open(v4,v5); + + split_interval_set<T> split_set; + split_set.add(I1_3D).add(I2_4D); + split_set += I4_5D; + BOOST_CHECK_EQUAL( split_set.iterative_size(), 4 ); + separate_interval_set<T> sep_set; + sep_set += split_set; + BOOST_CHECK_EQUAL( sep_set.iterative_size(), 4 ); + interval_set<T> join_set; + join_set += split_set; + BOOST_CHECK_EQUAL( join_set.iterative_size(), 1 ); + + separate_interval_set<T> sep_set2; + sep_set2.add(I1_3D).add(I2_4D); + sep_set2 += I4_5D; + BOOST_CHECK_EQUAL( sep_set2.iterative_size(), 2 ); + split_interval_set<T> split_set2; + split_set2 += sep_set2; + BOOST_CHECK_EQUAL( split_set2.iterative_size(), 2 ); + interval_set<T> join_set2; + join_set2 += sep_set2; + BOOST_CHECK_EQUAL( join_set2.iterative_size(), 1 ); + + interval_set<T> join_set3; + join_set3.add(v1).add(v3); + join_set3 += v5; + BOOST_CHECK_EQUAL( join_set3.iterative_size(), 3 ); + split_interval_set<T> split_set3; + split_set3 += join_set3; + BOOST_CHECK_EQUAL( split_set3.iterative_size(), 3 ); + separate_interval_set<T> sep_set3; + sep_set3 += join_set3; + BOOST_CHECK_EQUAL( join_set3.iterative_size(), 3 ); +} + +template <class T> +void interval_set_mixed_subtract_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + split_interval_set<T> split_set; + split_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( split_set.iterative_size(), 7 ); + + separate_interval_set<T> sep_set; + sep_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( sep_set.iterative_size(), 3 ); + + interval_set<T> join_set; + join_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( join_set.iterative_size(), 1 ); + + // Make sets to be subtracted + split_interval_set<T> split_sub; + split_sub.add(I3_6D).add(I8_9D); + + separate_interval_set<T> sep_sub; + sep_sub.add(I3_6D).add(I8_9D); + + interval_set<T> join_sub; + join_sub.add(I3_6D).add(I8_9D); + + //-------------------------------------------------------------------------- + // Test for split_interval_set + split_interval_set<T> split_diff = split_set; + separate_interval_set<T> sep_diff = sep_set; + interval_set<T> join_diff = join_set; + + //subtraction combinations + split_diff -= split_sub; + sep_diff -= split_sub; + join_diff -= split_sub; + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + + //-------------------------------------------------------------------------- + // Test for separate_interval_set. Reinitialize + split_diff = split_set; + sep_diff = sep_set; + join_diff = join_set; + + //subtraction combinations + split_diff -= sep_sub; + sep_diff -= sep_sub; + join_diff -= sep_sub; + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, sep_diff), true ); + + //-------------------------------------------------------------------------- + // Test for interval_set. Reinitialize + split_diff = split_set; + sep_diff = sep_set; + join_diff = join_set; + + //subtraction combinations + split_diff -= join_sub; + sep_diff -= join_sub; + join_diff -= join_sub; + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); +} + + +template <class T> +void interval_set_mixed_erase_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_4D = IntervalT::right_open(v0,v4); + IntervalT I2_6D = IntervalT::right_open(v2,v6); + IntervalT I3_6D = IntervalT::right_open(v3,v6); + IntervalT I5_7D = IntervalT::right_open(v5,v7); + IntervalT I7_8D = IntervalT::right_open(v7,v8); + IntervalT I8_9D = IntervalT::right_open(v8,v9); + IntervalT I8_9I = IntervalT::closed(v8,v9); + + split_interval_set<T> split_set; + split_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( split_set.iterative_size(), 7 ); + + separate_interval_set<T> sep_set; + sep_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( sep_set.iterative_size(), 3 ); + + interval_set<T> join_set; + join_set.add(I0_4D).add(I2_6D).add(I5_7D).add(I7_8D).add(I8_9I); + BOOST_CHECK_EQUAL( join_set.iterative_size(), 1 ); + + // Make sets to be subtracted + split_interval_set<T> split_sub; + split_sub.add(I3_6D).add(I8_9D); + + separate_interval_set<T> sep_sub; + sep_sub.add(I3_6D).add(I8_9D); + + interval_set<T> join_sub; + join_sub.add(I3_6D).add(I8_9D); + + //-------------------------------------------------------------------------- + // Test for split_interval_set + split_interval_set<T> split_diff = split_set; + separate_interval_set<T> sep_diff = sep_set; + interval_set<T> join_diff = join_set; + + //subtraction combinations + erase(split_diff, split_sub); + erase(sep_diff, split_sub); + erase(join_diff, split_sub); + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(split_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + + //-------------------------------------------------------------------------- + // Test for separate_interval_set. Reinitialize + split_diff = split_set; + sep_diff = sep_set; + join_diff = join_set; + + //subtraction combinations + erase(split_diff, sep_sub); + erase(sep_diff, sep_sub); + erase(join_diff, sep_sub); + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(split_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, sep_diff), true ); + + //-------------------------------------------------------------------------- + // Test for interval_set. Reinitialize + split_diff = split_set; + sep_diff = sep_set; + join_diff = join_set; + + //subtraction combinations + erase(split_diff, join_sub); + erase(sep_diff, join_sub); + erase(join_diff, join_sub); + + BOOST_CHECK_EQUAL( split_diff.iterative_size(), 5 ); + BOOST_CHECK_EQUAL( sep_diff.iterative_size(), 4 ); + BOOST_CHECK_EQUAL( join_diff.iterative_size(), 3 ); + + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, split_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, sep_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(sep_diff, join_diff), true ); + BOOST_CHECK_EQUAL( is_element_equal(join_diff, join_diff), true ); +} + +template <class T> +void interval_set_mixed_basic_intersect_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I1_8D = IntervalT::right_open(v1,v8); + IntervalT I2_7D = IntervalT::right_open(v2,v7); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I6_7D = IntervalT::right_open(v6,v7); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + //-------------------------------------------------------------------------- + // split_interval_set + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= [1 8) + //split_AB -> [1 3) [6 8) + // &= [2 7) + // -> [2 3) [6 7) + split_interval_set<T> split_A, split_B, split_AB, split_ab, split_ab2; + + split_A.add(I0_3D).add(I6_9D); + split_AB = split_A; + split_AB &= I1_8D; + split_ab.add(I1_3D).add(I6_8D); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= I1_8D) &= I2_7D; + split_ab2.add(I2_3D).add(I6_7D); + + BOOST_CHECK_EQUAL( split_AB, split_ab2 ); + + + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= 1 + //split_AB -> [1] + // += (1 7) + // -> [1](1 7) + split_A.add(I0_3D).add(I6_9D); + split_AB = split_A; + split_AB &= v1; + split_ab.clear(); + split_ab.add(v1); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= v1) += IntervalT::open(v1,v7); + split_ab2.clear(); + split_ab2 += IntervalT::right_open(v1,v7); + + BOOST_CHECK_EQUAL( is_element_equal(split_AB, split_ab2), true ); +} + +template <class T> +void interval_set_mixed_intersect_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v5 = make<T>(5); + T v6 = make<T>(6); + + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_2D = IntervalT::right_open(v1,v2); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I2_4D = IntervalT::right_open(v2,v4); + IntervalT I5_8D = IntervalT::right_open(v5,v8); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + //-------------------------------------------------------------------------- + // split_interval_set + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + //split_B &= [1 2)[2 4) [5 8) + //split_AB -> [1 2)[2 3) [6 8) + split_interval_set<T> split_A, split_B, split_AB, split_ab, split_ab_jn; + separate_interval_set<T> sep_A, sep_B, sep_AB, sep_ab; + interval_set<T> join_A, join_B, join_AB, join_ab; + + split_A.add(I0_3D).add(I6_9D); + split_B.add(I1_2D).add(I2_4D).add(I5_8D); + split_ab.add(I1_2D).add(I2_3D).add(I6_8D); + split_ab_jn.add(I1_3D).add(I6_8D); + split_AB = split_A; + split_AB &= split_B; + BOOST_CHECK_EQUAL( split_AB.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + //split_A [0 3) [6 9) + //sep_B &= [1 2)[2 4) [5 8) + //split_AB -> [1 2)[2 3) [6 8) + split_AB = split_A; + sep_B = split_B; + split_AB &= sep_B; + BOOST_CHECK_EQUAL( split_AB.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + //split_A [0 3) [6 9) + //join_B &= [1 4) [5 8) + //split_AB -> [1 3) [6 8) + split_AB = split_A; + join_B = split_B; + split_AB &= join_B; + + BOOST_CHECK_EQUAL( split_AB.iterative_size(), 2 ); + BOOST_CHECK_EQUAL( split_AB, split_ab_jn ); + + //-------------------------------------------------------------------------- + // separate_interval_set + //-------------------------------------------------------------------------- + //sep_A [0 3) [6 9) + //sep_B &= [1 2)[2 4) [5 8) + //sep_AB -> [1 2)[2 3) [6 8) + sep_ab = split_ab; + BOOST_CHECK_EQUAL( sep_ab.iterative_size(), 3 ); + + sep_AB = split_A; + sep_B = split_B; + sep_AB &= sep_B; + + BOOST_CHECK_EQUAL( sep_AB.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( sep_AB, sep_ab ); + + //sep_A [0 3) [6 9) + //split_B &= [1 2)[2 4) [5 8) + //sep_AB -> [1 2)[2 3) [6 8) + sep_AB = split_A; + sep_AB &= split_B; + + BOOST_CHECK_EQUAL( sep_AB.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( sep_AB, sep_ab ); + + //sep_A [0 3) [6 9) + //join_B &= [1 4) [5 8) + //sep_AB -> [1 3) [6 8) + separate_interval_set<T> sep_ab_jn = split_ab_jn; + sep_AB = split_A; + join_B = split_B; + sep_AB &= join_B; + + BOOST_CHECK_EQUAL( sep_AB.iterative_size(), 2 ); + BOOST_CHECK_EQUAL( sep_AB, sep_ab_jn ); + + //-------------------------------------------------------------------------- + // separate_interval_set + //-------------------------------------------------------------------------- + //join_A [0 3) [6 9) + //join_B &= [1 4) [5 8) + //join_AB -> [1 3) [6 8) + join_ab = split_ab; + BOOST_CHECK_EQUAL( join_ab.iterative_size(), 2 ); + + join_AB = split_A; + join_B = split_B; + join_AB &= sep_B; + + BOOST_CHECK_EQUAL( join_AB.iterative_size(), 2 ); + BOOST_CHECK_EQUAL( join_AB, join_ab ); + + //join_A [0 3) [6 9) + //split_B &= [1 2)[2 4) [5 8) + //join_AB -> [1 3) [6 8) + join_AB = split_A; + join_AB &= split_B; + + BOOST_CHECK_EQUAL( join_AB.iterative_size(), 2 ); + BOOST_CHECK_EQUAL( join_AB, join_ab ); + + //join_A [0 3) [6 9) + //sep_B &= [1 2)[2 4) [5 8) + //join_AB -> [1 3) [6 8) + join_AB = split_A; + join_AB &= sep_B; + + BOOST_CHECK_EQUAL( join_AB.iterative_size(), 2 ); + BOOST_CHECK_EQUAL( join_AB, join_ab ); + +} + + +template <class T> +void interval_set_mixed_disjoint_4_bicremental_types() +{ + typedef interval_set<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v4 = make<T>(4); + T v6 = make<T>(6); + + IntervalT I0_2D = IntervalT::right_open(v0,v2); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I3_4D = IntervalT::right_open(v3,v4); + IntervalT I4_4I = IntervalT::closed(v4,v4); + IntervalT C4_6D = IntervalT::open(v4,v6); + IntervalT I6_6I = IntervalT::closed(v6,v6); + + //-------------------------------------------------------------------------- + //split_A: [0 2) [4 4] [6 6] + //split_B: [2 3)[3 4) (4 6) + split_interval_set<T> split_A, split_B; + + split_A.add(I0_2D).add(I4_4I).add(I6_6I); + split_B.add(I2_3D).add(I3_4D).add(C4_6D); + + separate_interval_set<T> sep_A(split_A), sep_B(split_B); + interval_set<T> join_A(split_A), join_B(split_B); + + BOOST_CHECK_EQUAL( disjoint(split_A, split_B), true ); + BOOST_CHECK_EQUAL( disjoint(split_A, sep_B), true ); + BOOST_CHECK_EQUAL( disjoint(split_A, join_B), true ); + + BOOST_CHECK_EQUAL( disjoint(sep_A, split_B), true ); + BOOST_CHECK_EQUAL( disjoint(sep_A, sep_B), true ); + BOOST_CHECK_EQUAL( disjoint(sep_A, join_B), true ); + + BOOST_CHECK_EQUAL( disjoint(join_A, split_B), true ); + BOOST_CHECK_EQUAL( disjoint(join_A, sep_B), true ); + BOOST_CHECK_EQUAL( disjoint(join_A, join_B), true ); +} + +template <class T> +void interval_set_mixed_infix_plus_overload_4_bicremental_types() +{ + interval_set<T> join_a; + separate_interval_set<T> sep_a; + split_interval_set<T> split_a; + + join_a.add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,9)); + sep_a .add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,11)); + split_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + BOOST_CHECK_EQUAL(split_a + sep_a, sep_a + split_a ); + BOOST_CHECK_EQUAL(split_a + join_a, join_a + split_a); + BOOST_CHECK_EQUAL(sep_a + join_a, join_a + sep_a ); +} + +template <class T> void interval_set_mixed_infix_pipe_overload_4_bicremental_types() +{ + interval_set<T> join_a; + separate_interval_set<T> sep_a; + split_interval_set<T> split_a; + + join_a.add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,9)); + sep_a .add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,11)); + split_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + BOOST_CHECK_EQUAL(split_a | sep_a, sep_a | split_a ); + BOOST_CHECK_EQUAL(split_a | join_a, join_a | split_a); + BOOST_CHECK_EQUAL(sep_a | join_a, join_a | sep_a ); +} + +template <class T> +void interval_set_mixed_infix_minus_overload_4_bicremental_types() +{ + interval_set<T> join_a, join_b; + separate_interval_set<T> sep_a, sep_b; + split_interval_set<T> split_a, split_b; + + join_a.add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,9)); + sep_a .add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,11)); + split_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + BOOST_CHECK_EQUAL(split_a - sep_a, (split_b = split_a) -= sep_a ); + BOOST_CHECK_EQUAL(split_a - join_a, (split_b = split_a) -= join_a ); + BOOST_CHECK_EQUAL(sep_a - join_a, (sep_b = sep_a) -= join_a ); + + BOOST_CHECK_EQUAL(sep_a - split_a, (sep_b = sep_a) -= split_a); + BOOST_CHECK_EQUAL(join_a - split_a, (join_b = join_a) -= split_a); + BOOST_CHECK_EQUAL(join_a - sep_a, (join_b = join_a) -= sep_a ); +} + +template <class T> void interval_set_mixed_infix_et_overload_4_bicremental_types() +{ + interval_set<T> join_a; + separate_interval_set<T> sep_a; + split_interval_set<T> split_a; + + join_a.add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,9)); + sep_a .add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,11)); + split_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + BOOST_CHECK_EQUAL(split_a & sep_a, sep_a & split_a ); + BOOST_CHECK_EQUAL(split_a & join_a, join_a & split_a); + BOOST_CHECK_EQUAL(sep_a & join_a, join_a & sep_a ); +} + +template <class T> void interval_set_mixed_infix_caret_overload_4_bicremental_types() +{ + interval_set<T> join_a; + separate_interval_set<T> sep_a; + split_interval_set<T> split_a; + + join_a.add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,9)); + sep_a .add(I_D(0,4)) .add(I_I(4,6)).add(I_D(5,11)); + split_a.add(I_I(0,0)).add(I_D(8,7)).add(I_I(6,11)); + + BOOST_CHECK_EQUAL(split_a ^ sep_a, sep_a ^ split_a ); + BOOST_CHECK_EQUAL(split_a ^ join_a, join_a ^ split_a); + BOOST_CHECK_EQUAL(sep_a ^ join_a, join_a ^ sep_a ); +} + +#endif // LIBS_ICL_TEST_TEST_INTERVAL_SET_MIXED_HPP_JOFA_090702 diff --git a/src/boost/libs/icl/test/test_interval_set_mixed_/test_interval_set_mixed.cpp b/src/boost/libs/icl/test/test_interval_set_mixed_/test_interval_set_mixed.cpp new file mode 100644 index 00000000..ba2570c3 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_mixed_/test_interval_set_mixed.cpp @@ -0,0 +1,97 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::interval_set_mixed unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +#include "../test_interval_set_mixed.hpp" + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_ctor_4_ordered_types, T, ordered_types) +{ interval_set_mixed_ctor_4_ordered_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_equal_4_ordered_types, T, ordered_types) +{ interval_set_mixed_equal_4_ordered_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_assign_4_ordered_types, T, ordered_types) +{ interval_set_mixed_assign_4_ordered_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_ctor_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_ctor_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_assign_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_assign_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_equal_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_equal_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_contains_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_contains_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_add_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_add_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_subtract_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_subtract_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_erase_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_erase_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_basic_intersect_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_basic_intersect_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_disjoint_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_disjoint_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_infix_plus_overload_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_infix_pipe_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_infix_pipe_overload_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_infix_minus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_infix_minus_overload_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_infix_et_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_infix_et_overload_4_bicremental_types<T>(); } + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_mixed_infix_caret_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_mixed_infix_caret_overload_4_bicremental_types<T>(); } + diff --git a/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj b/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj new file mode 100644 index 00000000..eb072457 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}</ProjectGuid> + <RootNamespace>Test_interval_set_mixed</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_interval_set_mixed.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj.filters b/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj.filters new file mode 100644 index 00000000..e8052ccd --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_mixed_/vc10_test_interval_set_mixed.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_interval_set_mixed.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj b/src/boost/libs/icl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj new file mode 100644 index 00000000..7089ea0f --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_interval_set_mixed" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}" + RootNamespace="Test_interval_set_mixed" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_interval_set_mixed.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_interval_set_shared.hpp b/src/boost/libs/icl/test/test_interval_set_shared.hpp new file mode 100644 index 00000000..aba37964 --- /dev/null +++ b/src/boost/libs/icl/test/test_interval_set_shared.hpp @@ -0,0 +1,840 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_INTERVAL_SET_SHARED_HPP_JOFA_080920 +#define LIBS_ICL_TEST_TEST_INTERVAL_SET_SHARED_HPP_JOFA_080920 + +#include <boost/range/algorithm.hpp> +#include "portability.hpp" + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_fundamentals_4_ordered_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + typedef typename IntervalSet<T>::size_type size_T; + + // ordered types is the largest set of instance types. + // Because we can not generate values via incrementation for e.g. string, + // we are able to test operations only for the most basic values + // identity_element (0, empty, T() ...) and unit_element. + + T v0 = boost::icl::identity_element<T>::value(); + T v1 = unit_element<T>::value(); + IntervalT I0_0I(v0); + IntervalT I1_1I(v1); + IntervalT I0_1I(v0, v1, interval_bounds::closed()); + + //------------------------------------------------------------------------- + //empty set + //------------------------------------------------------------------------- + BOOST_CHECK_EQUAL(IntervalSet<T>().empty(), true); + BOOST_CHECK_EQUAL(icl::is_empty(IntervalSet<T>()), true); + BOOST_CHECK_EQUAL(cardinality(IntervalSet<T>()), boost::icl::identity_element<size_T>::value()); + BOOST_CHECK_EQUAL(IntervalSet<T>().size(), boost::icl::identity_element<size_T>::value()); + BOOST_CHECK_EQUAL(interval_count(IntervalSet<T>()), 0); + BOOST_CHECK_EQUAL(IntervalSet<T>().iterative_size(), 0); + BOOST_CHECK_EQUAL(iterative_size(IntervalSet<T>()), 0); + BOOST_CHECK_EQUAL(IntervalSet<T>(), IntervalSet<T>()); + + IntervalT mt_interval = boost::icl::identity_element<IntervalT>::value(); + BOOST_CHECK_EQUAL(mt_interval, IntervalT()); + IntervalSet<T> mt_set = boost::icl::identity_element<IntervalSet<T> >::value(); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + + //adding emptieness to emptieness yields emptieness ;) + mt_set.add(mt_interval).add(mt_interval); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + mt_set.insert(mt_interval).insert(mt_interval); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + (mt_set += mt_interval) += mt_interval; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + BOOST_CHECK_EQUAL(hull(mt_set), boost::icl::identity_element<IntervalT >::value()); + + //subtracting emptieness + mt_set.subtract(mt_interval).subtract(mt_interval); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + mt_set.erase(mt_interval).erase(mt_interval); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + (mt_set -= mt_interval) -= mt_interval; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + + //subtracting elements form emptieness + mt_set.subtract(v0).subtract(v1); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + mt_set.erase(v0).erase(v1); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + (mt_set -= v1) -= v0; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + + //subtracting intervals form emptieness + mt_set.subtract(I0_1I).subtract(I1_1I); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + mt_set.erase(I0_1I).erase(I1_1I); + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + (mt_set -= I1_1I) -= I0_1I; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + + //insecting emptieness + //mt_set.insect(mt_interval).insect(mt_interval); + //BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + (mt_set &= mt_interval) &= mt_interval; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + //insecting emptieness with elements + (mt_set &= v1) &= v0; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + //insecting emptieness with intervals + (mt_set &= I1_1I) &= I0_1I; + BOOST_CHECK_EQUAL(mt_set, IntervalSet<T>()); + + //------------------------------------------------------------------------- + //unary set + //------------------------------------------------------------------------- + IntervalSet<T> single_I0_0I_from_element(v0); + IntervalSet<T> single_I0_0I_from_interval(I0_0I); + IntervalSet<T> single_I0_0I(single_I0_0I_from_interval); + + BOOST_CHECK_EQUAL(single_I0_0I_from_element, single_I0_0I_from_interval); + BOOST_CHECK_EQUAL(single_I0_0I_from_element, single_I0_0I); + BOOST_CHECK_EQUAL(icl::hull(single_I0_0I).lower(), I0_0I.lower()); + BOOST_CHECK_EQUAL(icl::hull(single_I0_0I).upper(), I0_0I.upper()); + + IntervalSet<T> single_I1_1I_from_element(v1); + IntervalSet<T> single_I1_1I_from_interval(I1_1I); + IntervalSet<T> single_I1_1I(single_I1_1I_from_interval); + + BOOST_CHECK_EQUAL(single_I1_1I_from_element, single_I1_1I_from_interval); + BOOST_CHECK_EQUAL(single_I1_1I_from_element, single_I1_1I); + + IntervalSet<T> single_I0_1I_from_interval(I0_1I); + IntervalSet<T> single_I0_1I(single_I0_1I_from_interval); + + BOOST_CHECK_EQUAL(single_I0_1I_from_interval, single_I0_1I); + BOOST_CHECK_EQUAL(hull(single_I0_1I), I0_1I); + BOOST_CHECK_EQUAL(hull(single_I0_1I).lower(), I0_1I.lower()); + BOOST_CHECK_EQUAL(hull(single_I0_1I).upper(), I0_1I.upper()); + + //contains predicate + BOOST_CHECK_EQUAL(icl::contains(single_I0_0I, v0), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_0I, I0_0I), true); + BOOST_CHECK_EQUAL(icl::contains(single_I1_1I, v1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I1_1I, I1_1I), true); + + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, v0), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, I0_1I), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, v1), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, I1_1I), true); + + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, single_I0_0I), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, single_I1_1I), true); + BOOST_CHECK_EQUAL(icl::contains(single_I0_1I, single_I0_1I), true); + + BOOST_CHECK_EQUAL(cardinality(single_I0_0I), unit_element<size_T>::value()); + BOOST_CHECK_EQUAL(single_I0_0I.size(), unit_element<size_T>::value()); + BOOST_CHECK_EQUAL(interval_count(single_I0_0I), 1); + BOOST_CHECK_EQUAL(single_I0_0I.iterative_size(), 1); + BOOST_CHECK_EQUAL(iterative_size(single_I0_0I), 1); +} + + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_ctor_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v4 = make<T>(4); + IntervalT I4_4I(v4); + + IntervalSet<T> _I4_4I; + BOOST_CHECK_EQUAL( _I4_4I.empty(), true ); + IntervalSet<T> _I4_4I_1; + IntervalSet<T> _I4_4I_2; + IntervalSet<T> _I4_4I_3; + _I4_4I += v4; + _I4_4I_1 += I4_4I; + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_1 ); + _I4_4I_2.add(v4); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_2 ); + _I4_4I_3.add(I4_4I); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_3 ); + _I4_4I_1.add(v4).add(I4_4I); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_1 ); + _I4_4I_1.insert(v4).insert(I4_4I); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_1 ); + (_I4_4I_1 += v4) += I4_4I; + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_1 ); + + BOOST_CHECK_EQUAL( cardinality(_I4_4I), unit_element<typename IntervalSet<T>::size_type>::value() ); + BOOST_CHECK_EQUAL( _I4_4I.size(), unit_element<typename IntervalSet<T>::size_type>::value() ); + BOOST_CHECK_EQUAL( interval_count(_I4_4I), 1 ); + BOOST_CHECK_EQUAL( _I4_4I.iterative_size(), 1 ); + BOOST_CHECK_EQUAL( iterative_size(_I4_4I), 1 ); + BOOST_CHECK_EQUAL( hull(_I4_4I).lower(), v4 ); + BOOST_CHECK_EQUAL( hull(_I4_4I).upper(), v4 ); + + IntervalSet<T> _I4_4I_copy(_I4_4I); + IntervalSet<T> _I4_4I_assigned; + _I4_4I_assigned = _I4_4I; + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_copy ); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_assigned ); + _I4_4I_assigned.clear(); + BOOST_CHECK_EQUAL( true, _I4_4I_assigned.empty() ); + + _I4_4I_assigned.swap(_I4_4I_copy); + BOOST_CHECK_EQUAL( true, _I4_4I_copy.empty() ); + BOOST_CHECK_EQUAL( _I4_4I, _I4_4I_assigned ); + +} + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_add_sub_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + T v0 = make<T>(0); + T v5 = make<T>(5); + T v6 = make<T>(6); + T v9 = make<T>(9); + IntervalT I5_6I(v5,v6,interval_bounds::closed()); + IntervalT I5_9I(v5,v9,interval_bounds::closed()); + IntervalT I0_9I = IntervalT::closed(v0, v9); + + BOOST_CHECK_EQUAL( IntervalSet<T>(I5_6I).add(v0).add(v9), + IntervalSet<T>().insert(v9).insert(I5_6I).insert(v0) ); + + IntervalSet<T> set_A = IntervalSet<T>(I5_6I).add(v0).add(v9); + IntervalSet<T> set_B = IntervalSet<T>().insert(v9).insert(I5_6I).insert(v0); + BOOST_CHECK_EQUAL( set_A, set_B ); + BOOST_CHECK_EQUAL( hull(set_A), I0_9I ); + BOOST_CHECK_EQUAL( hull(set_A).lower(), I0_9I.lower() ); + BOOST_CHECK_EQUAL( hull(set_A).upper(), I0_9I.upper() ); + + IntervalSet<T> set_A1 = set_A, set_B1 = set_B, + set_A2 = set_A, set_B2 = set_B; + + set_A1.subtract(I5_6I).subtract(v9); + set_B1.erase(v9).erase(I5_6I); + BOOST_CHECK_EQUAL( set_A1, set_B1 ); + + set_A2.subtract(I5_9I); + set_B2.erase(I5_9I); + BOOST_CHECK_EQUAL( set_A1, set_B1 ); + BOOST_CHECK_EQUAL( set_A1, set_A2 ); + BOOST_CHECK_EQUAL( set_B1, set_B2 ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_distinct_4_bicremental_types() +{ + typedef typename IntervalSet<T>::size_type size_T; + + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + + size_T s3 = make<size_T>(3); + + IntervalSet<T> is_1_3_5; + is_1_3_5.add(v1).add(v3).add(v5); + + BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 ); + BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 ); + BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 ); + BOOST_CHECK_EQUAL( iterative_size(is_1_3_5), 3 ); + BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 3 ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_distinct_4_bicremental_continuous_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + typedef typename IntervalSet<T>::size_type size_T; + typedef typename IntervalSet<T>::difference_type diff_T; + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + + size_T s3 = make<size_T>(3); + diff_T d0 = make<diff_T>(0); + diff_T d2 = make<diff_T>(2); + + IntervalSet<T> is_1_3_5; + is_1_3_5.add(v1).add(v3).add(v5); + + BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 ); + BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 ); + BOOST_CHECK_EQUAL( icl::length(is_1_3_5), d0 ); + BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 ); + BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 3 ); + BOOST_CHECK_EQUAL( iterative_size(is_1_3_5), 3 ); + + + + IntervalSet<T> is_123_5; + is_123_5 = is_1_3_5; + is_123_5 += IntervalT::open(v1,v3); + + BOOST_CHECK_EQUAL( cardinality(is_123_5), icl::infinity<size_T>::value() ); + BOOST_CHECK_EQUAL( is_123_5.size(), icl::infinity<size_T>::value() ); + BOOST_CHECK_EQUAL( icl::length(is_123_5), d2 ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_isolate_4_bicremental_continuous_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + typedef typename IntervalSet<T>::size_type size_T; + + T v0 = make<T>(0); + T v2 = make<T>(2); + T v4 = make<T>(4); + IntervalT I0_4I = IntervalT::closed(v0,v4); + IntervalT C0_2D = IntervalT::open(v0,v2); + IntervalT C2_4D = IntervalT::open(v2,v4); + // {[0 4]} + // - { (0,2) (2,4) } + // = {[0] [2] [4]} + IntervalSet<T> iso_set = IntervalSet<T>(I0_4I); + IntervalSet<T> gap_set; + gap_set.add(C0_2D).add(C2_4D); + BOOST_CHECK_EQUAL( true, true ); + iso_set -= gap_set; + + BOOST_CHECK_EQUAL( cardinality(iso_set), static_cast<size_T>(3) ); + BOOST_CHECK_EQUAL( iso_set.iterative_size(), static_cast<std::size_t>(3) ); + BOOST_CHECK_EQUAL( iterative_size(iso_set), static_cast<std::size_t>(3) ); + + IntervalSet<T> iso_set2; + iso_set2.add(I0_4I); + iso_set2.subtract(C0_2D).subtract(C2_4D); + + IntervalSet<T> iso_set3(I0_4I); + (iso_set3 -= C0_2D) -= C2_4D; + + IntervalSet<T> iso_set4; + iso_set4.insert(I0_4I); + iso_set4.erase(C0_2D).erase(C2_4D); + + BOOST_CHECK_EQUAL( iso_set, iso_set2 ); + BOOST_CHECK_EQUAL( iso_set, iso_set3 ); + BOOST_CHECK_EQUAL( iso_set, iso_set4 ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_element_compare_4_bicremental_types() +{ + typedef IntervalSet<T> ISet; + + BOOST_CHECK_EQUAL( is_element_equal( ISet(), ISet()), true ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(), ISet(I_D(0,1))), false ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,1)), ISet()), false ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,1)), ISet(I_D(0,1))), true ); + + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,5)), ISet(I_D(3,8))), false ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(3,8)), ISet(I_D(0,5))), false ); + + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,1)), ISet(I_D(0,1)) ), true ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,1)), ISet(I_D(0,1))+I_D(1,2) ), false ); + BOOST_CHECK_EQUAL( is_element_equal( I_D(1,2)+ISet(I_D(0,1)), ISet(I_D(0,1)) ), false ); + BOOST_CHECK_EQUAL( is_element_equal( I_D(1,2)+ISet(I_D(0,1)), ISet(I_D(0,1))+I_D(1,2) ), true ); + + //[0 1)[1 2) + //[0 2) + BOOST_CHECK_EQUAL( is_element_equal( I_D(0,1)+ISet(I_D(1,2)), ISet(I_D(0,2)) ), true ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,2)), ISet(I_D(0,1))+I_D(1,2) ), true ); + + //[0 1) [2 3) + //[0 3) + BOOST_CHECK_EQUAL( is_element_equal( I_D(0,1)+ISet(I_D(2,3)), ISet(I_D(0,3)) ), false ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(0,3)), ISet(I_D(0,1))+I_D(2,3) ), false ); + + //[0 2)[2 4) + // [1 4) + BOOST_CHECK_EQUAL( is_element_equal( I_D(0,2)+ISet(I_D(2,4)), ISet(I_D(1,4)) ), false ); + BOOST_CHECK_EQUAL( is_element_equal( ISet(I_D(1,4)), ISet(I_D(0,2))+I_D(2,4) ), false ); + + //[0 2)[2 4) + //[0 1)[1 3)[3 4) + BOOST_CHECK_EQUAL( is_element_equal( I_D(0,2)+ISet(I_D(2,4)), I_D(0,1)+ISet(I_D(1,4))+I_D(3,4) ), true ); + BOOST_CHECK_EQUAL( is_element_equal( I_D(0,1)+ISet(I_D(1,4))+I_D(3,4), I_D(0,2)+ISet(I_D(2,4)) ), true ); +} + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_contains_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + //LAW: x.add(e).contains(e); + //LAW: z = x + y => contains(z, x) && contains(z, y); + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + T v11 = make<T>(11); + IntervalSet<T> is(v1); + BOOST_CHECK_EQUAL( icl::contains(is, v1), true ); + + BOOST_CHECK_EQUAL( icl::contains(IntervalSet<T>().add(make<T>(2)), make<T>(2)), true ); + BOOST_CHECK_EQUAL( icl::contains(IntervalSet<T>().insert(make<T>(2)), make<T>(2)), true ); + BOOST_CHECK_EQUAL( icl::contains((is += IntervalT(v3,v7)), IntervalT(v3,v7)), true ); + + IntervalSet<T> is0 = is; + + IntervalSet<T> is2(IntervalT::closed(v5,v8)); + is2.add(v9).add(v11); + is += is2; + BOOST_CHECK_EQUAL( contains(is, is2), true ); + + is = is0; + IntervalSet<T> is3(IntervalT::closed(v5,v8)); + is3.insert(v9).insert(v11); + is += is3; + BOOST_CHECK_EQUAL( contains(is, is3), true ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_operators_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + T v0 = make<T>(0); + T v1 = make<T>(1); + T v3 = make<T>(3); + T v5 = make<T>(5); + T v7 = make<T>(7); + T v8 = make<T>(8); + IntervalSet<T> left, left2, right, all, all2, section, complement, naught; + left.add(IntervalT::closed(v0,v1)).add(IntervalT::closed(v3,v5)); + (right += IntervalT::closed(v3,v5)) += IntervalT::closed(v7,v8); + + BOOST_CHECK_EQUAL( disjoint(left, right), false ); + + (all += left) += right; + (section += left) &= right; + (complement += all) -= section; + (all2 += section) += complement; + + BOOST_CHECK_EQUAL( disjoint(section, complement), true ); + BOOST_CHECK_EQUAL( all, all2 ); + + BOOST_CHECK_EQUAL( icl::contains(all, left), true ); + BOOST_CHECK_EQUAL( icl::contains(all, right), true ); + BOOST_CHECK_EQUAL( icl::contains(all, complement), true ); + + BOOST_CHECK_EQUAL( icl::contains(left, section), true ); + BOOST_CHECK_EQUAL( icl::contains(right, section), true ); + + BOOST_CHECK_EQUAL( within(left, all), true ); + BOOST_CHECK_EQUAL( within(right, all), true ); + BOOST_CHECK_EQUAL( within(complement, all), true ); + BOOST_CHECK_EQUAL( within(section, left), true ); + BOOST_CHECK_EQUAL( within(section, right), true ); +} + + +// Test for nontrivial intersection of interval sets with intervals and values +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_base_intersect_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + T v0 = make<T>(0); + T v1 = make<T>(1); + T v2 = make<T>(2); + T v3 = make<T>(3); + T v6 = make<T>(6); + T v7 = make<T>(7); + T v8 = make<T>(8); + T v9 = make<T>(9); + + IntervalT I0_3D = IntervalT::right_open(v0,v3); + IntervalT I1_3D = IntervalT::right_open(v1,v3); + IntervalT I1_8D = IntervalT::right_open(v1,v8); + IntervalT I2_7D = IntervalT::right_open(v2,v7); + IntervalT I2_3D = IntervalT::right_open(v2,v3); + IntervalT I6_7D = IntervalT::right_open(v6,v7); + IntervalT I6_8D = IntervalT::right_open(v6,v8); + IntervalT I6_9D = IntervalT::right_open(v6,v9); + + //-------------------------------------------------------------------------- + // IntervalSet + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= [1 8) + //split_AB -> [1 3) [6 8) + // &= [2 7) + // -> [2 3) [6 7) + IntervalSet<T> split_A, split_B, split_AB, split_ab, split_ab2; + + split_A.add(I0_3D).add(I6_9D); + split_AB = split_A; + split_AB &= I1_8D; + split_ab.add(I1_3D).add(I6_8D); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= I1_8D) &= I2_7D; + split_ab2.add(I2_3D).add(I6_7D); + + BOOST_CHECK_EQUAL( split_AB, split_ab2 ); + + + //-------------------------------------------------------------------------- + //split_A [0 3) [6 9) + // &= 1 + //split_AB -> [1] + // += (1 7) + // -> [1](1 7) + split_A.add(I0_3D).add(I6_9D); + split_AB = split_A; + split_AB &= v1; + split_ab.clear(); + split_ab.add(v1); + + BOOST_CHECK_EQUAL( split_AB, split_ab ); + + split_AB = split_A; + (split_AB &= v1) += IntervalT::open(v1,v7); + split_ab2.clear(); + split_ab2 += IntervalT::right_open(v1,v7); + + BOOST_CHECK_EQUAL( is_element_equal(split_AB, split_ab2), true ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_flip_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef IntervalSetT ISet; + + IntervalSetT set_a, set_b, lhs, rhs; + //[0 2) + // [1 3) + //[0 1) [2 3) : {[0 2)} ^= [2 3) + //gcc seed ambiguities with std::_Ios_Iostate& std::operator^= here: + // BOOST_CHECK_EQUAL(ISet(I_D(0,2)) ^= I_D(1,3), ISet(I_D(0,1)) + I_D(2,3)); + set_a = ISet(I_D(0,2)); + BOOST_CHECK_EQUAL(set_a ^= I_D(1,3), ISet(I_D(0,1)) + I_D(2,3)); + + // [1 3) + //[0 2) + //[0 1) [2 3) : {[1 3)} ^= [0 2) + set_a = ISet(I_D(1,3)); + BOOST_CHECK_EQUAL(set_a ^= I_D(0,2), ISet(I_D(0,1)) + I_D(2,3)); + + //[0 2) (3 5] + // [1 3) + //[0 1) [2 3) (3 5] : a ^= b + set_a.clear(); + set_a.add(I_D(0,2)).add(C_I(3,5)); + set_b.add(I_D(1,3)); + lhs = set_a; + lhs ^= set_b; + rhs.add(I_D(0,1)).add(I_D(2,3)).add(C_I(3,5)); + BOOST_CHECK_EQUAL(lhs, rhs); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_infix_plus_overload_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + IntervalT itv = I_D(3,5); + + IntervalSetT set_a, set_b; + set_a.add(C_D(1,3)).add(I_D(8,9)).add(I_I(6,11)); + set_b.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + BOOST_CHECK_EQUAL(set_a + set_b, set_b + set_a); + // This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(set_a + itv, itv + set_a); + BOOST_CHECK_EQUAL(set_b + MK_v(4), MK_v(4) + set_b); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_infix_pipe_overload_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT itv = I_D(3,5); + + IntervalSetT set_a, set_b; + set_a.add(C_D(1,3)).add(I_D(8,9)).add(I_I(6,11)); + set_b.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + BOOST_CHECK_EQUAL(set_a | set_b, set_b | set_a); + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(set_a | itv, itv | set_a); + BOOST_CHECK_EQUAL(set_b | MK_v(4), MK_v(4) | set_b); +} + + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_infix_minus_overload_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT itv = I_D(3,5); + + IntervalSetT set_a, set_b; + set_a.add(C_D(1,3)).add(I_D(8,9)).add(I_I(6,11)); + set_b.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + BOOST_CHECK_EQUAL(set_a - set_b, (set_b + set_a) - set_b); + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(set_a - itv, (itv + set_a) - itv); + BOOST_CHECK_EQUAL(set_b - MK_v(4), (MK_v(4) + set_b) - MK_v(4)); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_infix_et_overload_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT itv = I_D(3,5); + + IntervalSetT set_a, set_b; + set_a.add(C_D(1,3)).add(I_D(8,9)).add(I_I(6,11)); + set_b.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + BOOST_CHECK_EQUAL(set_a & set_b, set_b & set_a); + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(set_a & itv, itv & set_a); + BOOST_CHECK_EQUAL(set_b & MK_v(4), MK_v(4) & set_b); +} + + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_infix_caret_overload_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT itv = I_D(3,5); + + IntervalSetT set_a, set_b; + set_a.add(C_D(1,3)).add(I_D(8,9)).add(I_I(6,11)); + set_b.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + BOOST_CHECK_EQUAL(set_a ^ set_b, set_b ^ set_a); + //This checks all cases of is_interval_set_derivative<T> + BOOST_CHECK_EQUAL(set_a ^ itv, itv ^ set_a); + BOOST_CHECK_EQUAL(set_b ^ MK_v(4), MK_v(4) ^ set_b); +} + + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_find_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::const_iterator c_iterator; + + IntervalSetT set_a; + set_a.add(C_D(1,3)).add(I_I(6,11)); + + typename IntervalSetT::const_iterator found = set_a.find(MK_v(6)); + + BOOST_CHECK_EQUAL( *found, I_I(6,11) ); + + found = set_a.find(MK_v(5)); + + BOOST_CHECK_EQUAL( found == set_a.end(), true ); + + c_iterator found1 = set_a.find(MK_v(6)); + c_iterator found2 = icl::find(set_a, MK_v(6)); + + BOOST_CHECK ( found1 == found2 ); + BOOST_CHECK_EQUAL( *found1, *found2 ); + BOOST_CHECK_EQUAL( *found1, I_I(6,11) ); + + found1 = set_a.find(MK_v(5)); + + BOOST_CHECK_EQUAL( found1 == set_a.end(), true ); + + //LAW map c; key k: k in dom(c) => contains(c, *find(c, k)) + BOOST_CHECK( icl::contains(set_a, *icl::find(set_a, MK_v(2))) ); + BOOST_CHECK( icl::contains(set_a, *set_a.find(MK_v(11))) ); + + BOOST_CHECK( icl::contains(set_a, MK_v(2)) ); + BOOST_CHECK( icl::contains(set_a, MK_v(10)) ); + BOOST_CHECK( !icl::contains(set_a, MK_v(1)) ); + BOOST_CHECK( !icl::contains(set_a, MK_v(3)) ); + + BOOST_CHECK( icl::intersects(set_a, MK_v(2)) ); + BOOST_CHECK( icl::intersects(set_a, MK_v(10)) ); + BOOST_CHECK( !icl::intersects(set_a, MK_v(1)) ); + BOOST_CHECK( !icl::intersects(set_a, MK_v(3)) ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_intersects_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT between = I_D(3,5); + + IntervalSetT set_a; + set_a.add(C_D(1,3)).add(I_I(6,11)); + // (1 3) [6 11] + BOOST_CHECK( icl::intersects(set_a, MK_v(2)) ); + BOOST_CHECK( icl::intersects(set_a, MK_v(11)) ); + BOOST_CHECK( icl::disjoint(set_a, MK_v(3)) ); + BOOST_CHECK( icl::disjoint(set_a, MK_v(5)) ); + + BOOST_CHECK( icl::intersects(set_a, C_D(1,3)) ); + BOOST_CHECK( icl::intersects(set_a, I_D(8,10)) ); + BOOST_CHECK( icl::disjoint(set_a, between) ); + BOOST_CHECK( icl::disjoint(set_a, I_I(0,1)) ); + + IntervalSetT to_12 = IntervalSetT(I_D(0, 13)); + IntervalSetT complement_a = to_12 - set_a; + BOOST_CHECK( icl::disjoint(set_a, complement_a) ); + BOOST_CHECK( icl::intersects(to_12, set_a) ); + + BOOST_CHECK_EQUAL( icl::lower(set_a), icl::lower(*(set_a.begin())) ); + BOOST_CHECK_EQUAL( icl::lower(set_a), MK_v(1) ); + BOOST_CHECK_EQUAL( icl::upper(set_a), icl::upper(*(set_a.rbegin())) ); + BOOST_CHECK_EQUAL( icl::upper(set_a), MK_v(11) ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_range_4_discrete_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a; + set_a.add(C_D(1,3)).add(I_I(6,11)); + // (1 3) [6 11] + BOOST_CHECK_EQUAL( icl::first(set_a), icl::first(*(set_a.begin())) ); + BOOST_CHECK_EQUAL( icl::first(set_a), MK_v(2) ); + BOOST_CHECK_EQUAL( icl::last(set_a), icl::last(*(set_a.rbegin())) ); + BOOST_CHECK_EQUAL( icl::last(set_a), MK_v(11) ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_bitset_find_4_integral_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::interval_type IntervalT; + + IntervalT itv = I_D(3,5); + + IntervalSetT set_a; + set_a.add(C_D(1,3)).add(I_I(6,11)); + + typename IntervalSetT::const_iterator found = set_a.find(MK_v(6)); + + BOOST_CHECK( (found->second).contains(6) ); + + found = set_a.find(MK_v(5)); + BOOST_CHECK( found == set_a.end() ); + + set_a.add(MK_v(64)); + found = set_a.find(MK_v(64)); + BOOST_CHECK( (found->second).contains(0) ); + + set_a.add(MK_v(65)); + found = set_a.find(MK_v(65)); + BOOST_CHECK( (found->second).contains(1) ); + + found = set_a.find(MK_v(66)); + BOOST_CHECK( found == set_a.end() ); +} + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_element_iter_4_discrete_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::vector<T> VectorT; + + IntervalSetT set_a; + set_a.add(I_I(1,3)).add(I_I(6,7)); + + VectorT vec(5), cev(5); + vec[0]=MK_v(1);vec[1]=MK_v(2);vec[2]=MK_v(3);vec[3]=MK_v(6);vec[4]=MK_v(7); + cev[0]=MK_v(7);cev[1]=MK_v(6);cev[2]=MK_v(3);cev[3]=MK_v(2);cev[4]=MK_v(1); + + VectorT dest; + // element iteration ----------------------------------------------------- + std::copy(elements_begin(set_a), elements_end(set_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( vec == dest, true ); + + dest.clear(); + std::copy(elements_rbegin(set_a), elements_rend(set_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( cev == dest, true ); + + dest.clear(); + std::reverse_copy(elements_begin(set_a), elements_end(set_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( cev == dest, true ); + + dest.clear(); + std::reverse_copy(elements_rbegin(set_a), elements_rend(set_a), std::back_inserter(dest)); + BOOST_CHECK_EQUAL( vec == dest, true ); + + // range based element iteration ----------------------------------------- + dest.clear(); + boost::copy(elements(set_a), std::back_inserter(dest)); + BOOST_CHECK( vec == dest ); + + dest.clear(); + boost::reverse_copy(elements(set_a), std::back_inserter(dest)); + BOOST_CHECK( cev == dest ); +} + + +template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T> +void interval_set_move_4_discrete_types() +{ + typedef IntervalSet<T> IntervalSetT; + + //JODO static_cast fails for gcc compilers + //IntervalSetT set_A(boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_D(0,4))))); + IntervalSetT set_A(boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_D(0,4)).add(I_D(0,0)) ))); + IntervalSetT set_B(boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_D(0,2)).add(I_D(2,4)).add(I_D(0,4))))); + + BOOST_CHECK( icl::is_element_equal(set_A, set_B) ); + BOOST_CHECK_EQUAL( set_A, join(set_B) ); + + //JODO static_cast fails for gcc compilers + //set_A = boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_I(1,4)))); + set_A = boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_I(1,4)).add(I_D(0,0)))); + set_B = boost::move(static_cast<IntervalSetT&>(IntervalSetT(C_I(0,2)).insert(I_D(3,5)).add(C_D(0,5)))); + + BOOST_CHECK( icl::is_element_equal(set_A, set_B) ); + BOOST_CHECK_EQUAL( set_A, join(set_B) ); +} + + + +#endif // LIBS_ICL_TEST_TEST_INTERVAL_SET_SHARED_HPP_JOFA_080920 diff --git a/src/boost/libs/icl/test/test_laws.hpp b/src/boost/libs/icl/test/test_laws.hpp new file mode 100644 index 00000000..df7e0c59 --- /dev/null +++ b/src/boost/libs/icl/test/test_laws.hpp @@ -0,0 +1,795 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_LIBS_ICL_TEST_ICL_LAWS_HPP_JOFA_090119 +#define BOOST_LIBS_ICL_TEST_ICL_LAWS_HPP_JOFA_090119 + +#include <boost/icl/type_traits/identity_element.hpp> +#include <boost/icl/associative_interval_container.hpp> + +namespace boost{namespace icl +{ + +template<class Type> +struct equality +{ + typedef Type first_argument_type; + typedef Type second_argument_type; + typedef bool result_type; + typedef bool (type)(const Type&, const Type&); +}; + +//------------------------------------------------------------------------------ +// Associativity +//------------------------------------------------------------------------------ + +// The definition of a boost test via a macro, that allows to be instantiated for +// different operator signs 'op_sign'. For every 'op_sign' a separate function +// template is generated by appending the suffic 'op_tag' to the function +// name. +// So this is the function template via macro that checks the law +// associativity for an operator 'op_sign' +#define DEFINE_ASSOCIATIVITY_CHECK_WRT(op_tag, op_sign) \ +template<class Type, class TypeB, class TypeC> \ +void check_associativity_wrt_##op_tag(const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + Type left = (a op_sign b) op_sign c; \ + Type right = a op_sign (b op_sign c); \ + BOOST_CHECK(left==right); \ +} + +#define DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(op_tag, op_sign) \ +template<class Type, class TypeB, class TypeC> \ +void check_associativity_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + Type left = (a op_sign b) op_sign c; \ + Type right = a op_sign (b op_sign c); \ + BOOST_CHECK((*equal)(left,right)); \ +} + +// Here we define the call of the test function thats definition +// template has been generated by the macro above. +#define CHECK_ASSOCIATIVITY_WRT(op_tag) check_associativity_wrt_##op_tag +#define CHECK_ASSOCIATIVITY_WRT_EQUAL(op_tag) check_associativity_wrt_equal_##op_tag + +// Here we actually generate function templates by calling the defining +// macros. +DEFINE_ASSOCIATIVITY_CHECK_WRT (plus, + ) +DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(plus, + ) +DEFINE_ASSOCIATIVITY_CHECK_WRT (pipe, | ) +DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(pipe, | ) +DEFINE_ASSOCIATIVITY_CHECK_WRT (et, & ) +DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(et, & ) +DEFINE_ASSOCIATIVITY_CHECK_WRT (caret, ^ ) +DEFINE_ASSOCIATIVITY_CHECK_WRT_EQUAL(caret, ^ ) + + +//------------------------------------------------------------------------------ +// Neutrality +//------------------------------------------------------------------------------ + +#define DEFINE_RIGHT_NEUTRALITY_CHECK_WRT_EQUAL(op_tag, op_sign) \ +template<class Type> \ +void check_right_neutrality_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& a, const Type& identity_element) \ +{ \ + Type left = a op_sign identity_element; \ + Type right = identity_element; \ + BOOST_CHECK((*equal)(left,right)); \ +} + +#define DEFINE_RIGHT_NEUTRALITY_CHECK_WRT(op_tag, op_sign) \ +template<class Type> \ +void check_right_neutrality_wrt_##op_tag \ +(typename equality<Type>::type* equal, const Type& a, const Type& identity_element) \ +{ \ + Type left = a op_sign identity_element; \ + Type right = identity_element; \ + BOOST_CHECK(left==right); \ +} + +#define DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(op_tag, op_sign) \ +template<class Type> \ +void check_neutrality_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& a, const Type& identity_element) \ +{ \ + Type left = a op_sign identity_element; \ + Type right = identity_element op_sign a; \ + BOOST_CHECK((*equal)(left,right)); \ +} + +#define DEFINE_NEUTRALITY_CHECK_WRT(op_tag, op_sign) \ +template<class Type> \ +void check_neutrality_wrt_##op_tag \ +(const Type& a, const Type& identity_element) \ +{ \ + Type left = a op_sign identity_element; \ + Type right = identity_element op_sign a; \ + BOOST_CHECK(left==right); \ +} + +#define CHECK_NEUTRALITY_WRT(op_tag) check_neutrality_wrt_##op_tag +#define CHECK_NEUTRALITY_WRT_EQUAL(op_tag) check_neutrality_wrt_equal_##op_tag + +DEFINE_NEUTRALITY_CHECK_WRT (plus, + ) +DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(plus, + ) +DEFINE_NEUTRALITY_CHECK_WRT (pipe, | ) +DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(pipe, | ) +DEFINE_NEUTRALITY_CHECK_WRT (minus, - ) +DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(minus, - ) +DEFINE_NEUTRALITY_CHECK_WRT (et, & ) +DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(et, & ) +DEFINE_NEUTRALITY_CHECK_WRT (caret, ^ ) +DEFINE_NEUTRALITY_CHECK_WRT_EQUAL(caret, ^ ) + +//------------------------------------------------------------------------------ +// Commutativity +//------------------------------------------------------------------------------ + +#define DEFINE_COMMUTATIVITY_CHECK_WRT_EQUAL(op_tag, op_sign) \ +template<class Type, class TypeB> \ +void check_commutativity_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& a, const TypeB& b) \ +{ \ + Type left = a op_sign b; \ + Type right = b op_sign a; \ + BOOST_CHECK((*equal)(left,right)); \ +} + +#define DEFINE_COMMUTATIVITY_CHECK_WRT(op_tag, op_sign) \ +template<class Type, class TypeB> \ + void check_commutativity_wrt_##op_tag(const Type& a, const TypeB& b) \ +{ \ + Type left = a op_sign b; \ + Type right = b op_sign a; \ + BOOST_CHECK(left==right); \ +} + +#define CHECK_COMMUTATIVITY_WRT_EQUAL(op_tag) check_commutativity_wrt_equal_##op_tag +#define CHECK_COMMUTATIVITY_WRT(op_tag) check_commutativity_wrt_##op_tag + +DEFINE_COMMUTATIVITY_CHECK_WRT (plus, + ) +DEFINE_COMMUTATIVITY_CHECK_WRT_EQUAL(plus, + ) +DEFINE_COMMUTATIVITY_CHECK_WRT (pipe, | ) +DEFINE_COMMUTATIVITY_CHECK_WRT_EQUAL(pipe, | ) +DEFINE_COMMUTATIVITY_CHECK_WRT (et, & ) +DEFINE_COMMUTATIVITY_CHECK_WRT_EQUAL(et, & ) +DEFINE_COMMUTATIVITY_CHECK_WRT (caret, ^ ) +DEFINE_COMMUTATIVITY_CHECK_WRT_EQUAL(caret, ^ ) + +//------------------------------------------------------------------------------ +// Natural inversion +//------------------------------------------------------------------------------ + +#define DEFINE_PARTIAL_INVERSION_CHECK_WRT_EQUAL(plus_tag, plus_sign) \ +template<class Type> \ + void check_partial_inversion_wrt_equal_##plus_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, const Type& var_a) \ +{ \ + Type positive_difference = var_a - var_a; \ + BOOST_CHECK((*equal)(positive_difference, identity_element)); \ +} + +#define DEFINE_PARTIAL_INVERSION_CHECK_WRT(plus_tag, plus_sign) \ +template<class Type> \ + void check_partial_inversion_wrt_##plus_tag \ +(const Type& identity_element, const Type& var_a) \ +{ \ + Type positive_difference = var_a - var_a; \ + BOOST_CHECK(positive_difference==identity_element); \ +} + +#define CHECK_PARTIAL_INVERSION_WRT_EQUAL(plus_tag) check_partial_inversion_wrt_equal_##plus_tag +#define CHECK_PARTIAL_INVERSION_WRT(plus_tag) check_partial_inversion_wrt_##plus_tag + +DEFINE_PARTIAL_INVERSION_CHECK_WRT (plus, + ) +DEFINE_PARTIAL_INVERSION_CHECK_WRT_EQUAL(plus, + ) +DEFINE_PARTIAL_INVERSION_CHECK_WRT (pipe, | ) +DEFINE_PARTIAL_INVERSION_CHECK_WRT_EQUAL(pipe, | ) + +//------------------------------------------------------------------------------ +// Inverse +//------------------------------------------------------------------------------ + +#define DEFINE_INVERSE_CHECK_WRT_EQUAL(plus_tag, plus_sign) \ +template<class Type> \ + void check_inverse_wrt_equal_##plus_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, const Type& var_a) \ +{ \ + Type positive_difference = var_a - var_a; \ + BOOST_CHECK((*equal)(positive_difference, identity_element)); \ + Type negative_difference = (identity_element - var_a) plus_sign var_a; \ + BOOST_CHECK((*equal)(negative_difference, identity_element)); \ +} + +#define DEFINE_INVERSE_CHECK_WRT(plus_tag, plus_sign) \ +template<class Type> \ + void check_inverse_wrt_##plus_tag \ +(const Type& identity_element, const Type& var_a) \ +{ \ + Type positive_difference = var_a - var_a; \ + BOOST_CHECK(positive_difference==identity_element); \ + Type negative_difference = (identity_element - var_a) plus_sign var_a; \ + BOOST_CHECK(negative_difference==identity_element); \ +} + +#define CHECK_INVERSE_WRT_EQUAL(plus_tag) check_inverse_wrt_equal_##plus_tag +#define CHECK_INVERSE_WRT(plus_tag) check_inverse_wrt_##plus_tag + +DEFINE_INVERSE_CHECK_WRT (plus, + ) +DEFINE_INVERSE_CHECK_WRT_EQUAL(plus, + ) +DEFINE_INVERSE_CHECK_WRT (pipe, | ) +DEFINE_INVERSE_CHECK_WRT_EQUAL(pipe, | ) + +//------------------------------------------------------------------------------ +// Containedness laws (Valid for sets, NOT for maps) +//------------------------------------------------------------------------------ +template<class Type, class TypeB> +void check_intersection_containedness(const Type& a, const TypeB& b) +{ + BOOST_CHECK_EQUAL(contains(a, a & b), true); + BOOST_CHECK_EQUAL(contains(a, b & a), true); + BOOST_CHECK_EQUAL(within(a & b, a), true); + BOOST_CHECK_EQUAL(within(b & a, a), true); +} + +template<class Type, class TypeB> +void check_union_containedness(const Type& a, const TypeB& b) +{ + BOOST_CHECK_EQUAL(within(a, a + b), true); + BOOST_CHECK_EQUAL(within(a, b + a), true); + BOOST_CHECK_EQUAL(contains(a + b, a), true); + BOOST_CHECK_EQUAL(contains(b + a, a), true); +} + +template<class MapT> +void check_domain_containedness(const MapT& a) +{ + typedef typename MapT::set_type set_type; + set_type dom; + domain(dom, a); + BOOST_CHECK_EQUAL(within(dom, a), true); + BOOST_CHECK_EQUAL(contains(a, dom), true); + + if(!dom.empty()) + { + typename MapT::domain_type a1 = *dom.begin(); + BOOST_CHECK_EQUAL(within(a1, a), true); + BOOST_CHECK_EQUAL(contains(a, a1), true); + } +} + +//------------------------------------------------------------------------------ +// Laws on inner complement, between and distance +//------------------------------------------------------------------------------ +template<class Type, class SetT> +bool check_length_as_distance( const Type& object + , SetT& in_between + , typename Type::difference_type& between_len + , typename Type::difference_type& obj_dist ) +{ + //LAW LengthAsDistance: distance(x) == length(between(x)) + icl::between(in_between, object); + between_len = icl::length(in_between); + obj_dist = icl::distance(object); + BOOST_CHECK_EQUAL(obj_dist, between_len); + return obj_dist == between_len; +} + +template<class Type, class SetT> +bool has_length_as_distance(const Type& object) +{ + typedef typename Type::difference_type DiffT; + SetT in_between; DiffT between_len, obj_dist; + return check_length_as_distance(object, in_between, between_len, obj_dist); +} + +template<class Type> +bool check_length_complementarity( const Type& object + , typename Type::difference_type& obj_len + , typename Type::difference_type& obj_dist + , typename Type::difference_type& hull_len ) +{ + //LAW Length Complementarity: length(x) + distance(x) == length(hull(x)) + obj_len = icl::length(object); + obj_dist = icl::distance(object); + hull_len = icl::length(hull(object)); + BOOST_CHECK_EQUAL(obj_len + obj_dist, hull_len); + return obj_len + obj_dist == hull_len; +} + +template<class Type> +bool has_length_complementarity(const Type& object) +{ + typedef typename Type::difference_type DiffT; + DiffT obj_len, obj_dist, hull_len; + return check_length_complementarity(object, obj_len, obj_dist, hull_len); +} + +template<class Type, class SetT> +bool check_inner_complementarity(const Type& object, SetT& in_between, SetT& lhs, SetT& rhs) +{ + //LAW Inner Complementarity1: domain(x) + between(x) =e= hull(x) + //LAW Inner Complementarity2: join(domain(x) + between(x)) == hull(x) + SetT dom; + icl::domain(dom, object); + lhs = dom + between(in_between, object); + join(lhs); + rhs = SetT(hull(object)); + BOOST_CHECK_EQUAL(lhs, rhs); + return lhs == rhs; +} + + +template<class Type, class SetT> +bool has_inner_complementarity(const Type& object) +{ + SetT in_between, lhs, rhs; + return check_inner_complementarity(object, in_between, lhs, rhs); +} + + + +//============================================================================== +// Law tests are now combined to test algebraic concepts. +//------------------------------------------------------------------------------ +// Monodid EAN +//------------------------------------------------------------------------------ + +#define DEFINE_MONOID_CHECK_WRT_EQUAL(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_monoid_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ASSOCIATIVITY_WRT_EQUAL(op_tag)(equal,a,b,c); \ + CHECK_NEUTRALITY_WRT_EQUAL(op_tag)(equal,a,identity_element); \ +} + +#define DEFINE_MONOID_CHECK_WRT(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_monoid_wrt_##op_tag \ +(const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ASSOCIATIVITY_WRT(op_tag)(a,b,c); \ + CHECK_NEUTRALITY_WRT(op_tag)(a,identity_element); \ +} + +DEFINE_MONOID_CHECK_WRT (plus) +DEFINE_MONOID_CHECK_WRT_EQUAL(plus) +DEFINE_MONOID_CHECK_WRT (pipe) +DEFINE_MONOID_CHECK_WRT_EQUAL(pipe) +DEFINE_MONOID_CHECK_WRT (et) +DEFINE_MONOID_CHECK_WRT_EQUAL(et) +DEFINE_MONOID_CHECK_WRT (caret) +DEFINE_MONOID_CHECK_WRT_EQUAL(caret) + +#define CHECK_MONOID_WRT(op_tag) check_monoid_wrt_##op_tag +#define CHECK_MONOID_WRT_EQUAL(op_tag) check_monoid_wrt_equal_##op_tag + +//------------------------------------------------------------------------------ +// Commutative or Abelian monodid EANC +//------------------------------------------------------------------------------ +#define DEFINE_ABELIAN_MONOID_CHECK_WRT_EQUAL(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_abelian_monoid_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ASSOCIATIVITY_WRT_EQUAL(op_tag)(equal,a,b,c); \ + CHECK_NEUTRALITY_WRT_EQUAL(op_tag)(equal,a,identity_element); \ + CHECK_COMMUTATIVITY_WRT_EQUAL(op_tag)(equal,a,b); \ + CHECK_COMMUTATIVITY_WRT_EQUAL(op_tag)(equal,a,c); \ +} + +#define DEFINE_ABELIAN_MONOID_CHECK_WRT(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_abelian_monoid_wrt_##op_tag \ +(const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ASSOCIATIVITY_WRT(op_tag)(a,b,c); \ + CHECK_NEUTRALITY_WRT(op_tag)(a,identity_element); \ + CHECK_COMMUTATIVITY_WRT(op_tag)(a,b); \ + CHECK_COMMUTATIVITY_WRT(op_tag)(a,c); \ +} + +DEFINE_ABELIAN_MONOID_CHECK_WRT (plus) +DEFINE_ABELIAN_MONOID_CHECK_WRT_EQUAL(plus) +DEFINE_ABELIAN_MONOID_CHECK_WRT (pipe) +DEFINE_ABELIAN_MONOID_CHECK_WRT_EQUAL(pipe) +DEFINE_ABELIAN_MONOID_CHECK_WRT (et) +DEFINE_ABELIAN_MONOID_CHECK_WRT_EQUAL(et) +DEFINE_ABELIAN_MONOID_CHECK_WRT (caret) +DEFINE_ABELIAN_MONOID_CHECK_WRT_EQUAL(caret) + +#define CHECK_ABELIAN_MONOID_WRT(op_tag) check_abelian_monoid_wrt_##op_tag +#define CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag) check_abelian_monoid_wrt_equal_##op_tag + +//------------------------------------------------------------------------------ +// Abelian monodid EANC with partial inversion +//------------------------------------------------------------------------------ +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT_EQUAL(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_partial_invertive_monoid_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal,identity_element,a,b,c); \ + CHECK_PARTIAL_INVERSION_WRT_EQUAL(op_tag)(equal,identity_element,a); \ +} + +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT(op_tag) \ +template<class Type, class TypeB, class TypeC> \ +void check_partial_invertive_monoid_wrt_##op_tag \ +(const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ABELIAN_MONOID_WRT(op_tag)(identity_element,a,b,c); \ + CHECK_PARTIAL_INVERSION_WRT(op_tag)(identity_element,a); \ +} + +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT (plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT_EQUAL(plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT (pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT_EQUAL(pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT (et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT_EQUAL(et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT (caret) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_WRT_EQUAL(caret) + +#define CHECK_PARTIAL_INVERTIVE_MONOID_WRT(op_tag) check_partial_invertive_monoid_wrt_##op_tag +#define CHECK_PARTIAL_INVERTIVE_MONOID_WRT_EQUAL(op_tag) check_partial_invertive_monoid_wrt_equal_##op_tag + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ + +#define DEFINE_ABELIAN_GROUP_CHECK_WRT_EQUAL(op_tag) \ +template<class Type, class TypeB, class TypeC> \ + void check_abelian_group_wrt_equal_##op_tag \ +(typename equality<Type>::type* equal, const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal,identity_element,a,b,c); \ + CHECK_INVERSE_WRT_EQUAL(op_tag)(equal,identity_element,a); \ +} + +#define DEFINE_ABELIAN_GROUP_CHECK_WRT(op_tag) \ +template<class Type, class TypeB, class TypeC> \ + void check_abelian_group_wrt_##op_tag \ +(const Type& identity_element, \ +const Type& a, const TypeB& b, const TypeC& c) \ +{ \ + CHECK_ABELIAN_MONOID_WRT(op_tag)(identity_element,a,b,c); \ + CHECK_INVERSE_WRT(op_tag)(identity_element,a); \ +} + + +DEFINE_ABELIAN_GROUP_CHECK_WRT (plus) +DEFINE_ABELIAN_GROUP_CHECK_WRT_EQUAL(plus) +DEFINE_ABELIAN_GROUP_CHECK_WRT (pipe) +DEFINE_ABELIAN_GROUP_CHECK_WRT_EQUAL(pipe) + +#define CHECK_ABELIAN_GROUP_WRT(op_tag) check_abelian_group_wrt_##op_tag +#define CHECK_ABELIAN_GROUP_WRT_EQUAL(op_tag) check_abelian_group_wrt_equal_##op_tag + +//------------------------------------------------------------------------------ +// Modoid permuted +//------------------------------------------------------------------------------ + +#define DEFINE_MONOID_CHECK_PERMUTED_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_monoid_permuted_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + +#define DEFINE_MONOID_CHECK_PERMUTED_WRT(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_monoid_permuted_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + + +DEFINE_MONOID_CHECK_PERMUTED_WRT (plus) +DEFINE_MONOID_CHECK_PERMUTED_WRT_EQUAL(plus) +DEFINE_MONOID_CHECK_PERMUTED_WRT (pipe) +DEFINE_MONOID_CHECK_PERMUTED_WRT_EQUAL(pipe) +DEFINE_MONOID_CHECK_PERMUTED_WRT (et) +DEFINE_MONOID_CHECK_PERMUTED_WRT_EQUAL(et) +DEFINE_MONOID_CHECK_PERMUTED_WRT (caret) +DEFINE_MONOID_CHECK_PERMUTED_WRT_EQUAL(caret) + +#define CHECK_MONOID_PERMUTED_WRT(op_tag) check_monoid_permuted_wrt_##op_tag +#define CHECK_MONOID_PERMUTED_WRT_EQUAL(op_tag) check_monoid_permuted_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Abelian modoid permuted +//------------------------------------------------------------------------------ + +#define DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_abelian_monoid_permuted_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_ABELIAN_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + +#define DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_abelian_monoid_permuted_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_ABELIAN_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_ABELIAN_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_ABELIAN_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_ABELIAN_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + + +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT (plus) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT_EQUAL(plus) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT (pipe) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT_EQUAL(pipe) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT (et) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT_EQUAL(et) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT (caret) +DEFINE_ABELIAN_MONOID_CHECK_PERMUTED_WRT_EQUAL(caret) + +#define CHECK_ABELIAN_MONOID_PERMUTED_WRT(op_tag) check_abelian_monoid_permuted_wrt_##op_tag +#define CHECK_ABELIAN_MONOID_PERMUTED_WRT_EQUAL(op_tag) check_abelian_monoid_permuted_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Abelian modoid with partial inversion permuted +//------------------------------------------------------------------------------ + +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_partial_invertive_monoid_permuted_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ +void check_partial_invertive_monoid_permuted_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_PARTIAL_INVERTIVE_MONOID_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + + +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT (plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT_EQUAL(plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT (pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT_EQUAL(pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT (et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT_EQUAL(et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT (caret) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_PERMUTED_WRT_EQUAL(caret) + +#define CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT(op_tag) check_partial_invertive_monoid_permuted_wrt_##op_tag +#define CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT_EQUAL(op_tag) check_partial_invertive_monoid_permuted_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Abelian group permuted +//------------------------------------------------------------------------------ + +#define DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ + void check_abelian_group_permuted_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_ABELIAN_GROUP_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_ABELIAN_GROUP_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_ABELIAN_GROUP_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_ABELIAN_GROUP_WRT_EQUAL(op_tag)(equal, icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + +#define DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT(op_tag) \ +template<class TypeA, class TypeB, class Assoc> \ + void check_abelian_group_permuted_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const Assoc& assoc) \ +{ \ + CHECK_ABELIAN_GROUP_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, var_b, assoc);\ + CHECK_ABELIAN_GROUP_WRT(op_tag)(icl::identity_element<TypeA>::value(), var_a, assoc, var_b);\ + CHECK_ABELIAN_GROUP_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, var_a, assoc);\ + CHECK_ABELIAN_GROUP_WRT(op_tag)(icl::identity_element<TypeB>::value(), var_b, assoc, var_a);\ +} + + +DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT (plus) +DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT_EQUAL(plus) +DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT (pipe) +DEFINE_ABELIAN_GROUP_CHECK_PERMUTED_WRT_EQUAL(pipe) + +#define CHECK_ABELIAN_GROUP_PERMUTED_WRT(op_tag) check_abelian_group_permuted_wrt_##op_tag +#define CHECK_ABELIAN_GROUP_PERMUTED_WRT_EQUAL(op_tag) check_abelian_group_permuted_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Modoid instance +//------------------------------------------------------------------------------ + +#define DEFINE_MONOID_CHECK_INSTANCE_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_monoid_instance_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, var_c);\ + CHECK_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_a);\ + CHECK_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_b);\ +} + +#define DEFINE_MONOID_CHECK_INSTANCE_WRT(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_monoid_instance_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, var_c);\ + CHECK_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_a);\ + CHECK_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_b);\ +} + +DEFINE_MONOID_CHECK_INSTANCE_WRT (plus) +DEFINE_MONOID_CHECK_INSTANCE_WRT_EQUAL(plus) +DEFINE_MONOID_CHECK_INSTANCE_WRT (pipe) +DEFINE_MONOID_CHECK_INSTANCE_WRT_EQUAL(pipe) +DEFINE_MONOID_CHECK_INSTANCE_WRT (et) +DEFINE_MONOID_CHECK_INSTANCE_WRT_EQUAL(et) +DEFINE_MONOID_CHECK_INSTANCE_WRT (caret) +DEFINE_MONOID_CHECK_INSTANCE_WRT_EQUAL(caret) + +#define CHECK_MONOID_INSTANCE_WRT(op_tag) check_monoid_instance_wrt_##op_tag +#define CHECK_MONOID_INSTANCE_WRT_EQUAL(op_tag) check_monoid_instance_wrt_equal_##op_tag + + + +//------------------------------------------------------------------------------ +// Abelian modoid instance +//------------------------------------------------------------------------------ + +#define DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_abelian_monoid_instance_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_ABELIAN_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, var_c);\ + CHECK_ABELIAN_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_a);\ + CHECK_ABELIAN_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_b);\ +} + +#define DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_abelian_monoid_instance_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_ABELIAN_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, var_c);\ + CHECK_ABELIAN_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_a);\ + CHECK_ABELIAN_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_b);\ +} + +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT (plus) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT_EQUAL(plus) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT (pipe) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT_EQUAL(pipe) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT (et) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT_EQUAL(et) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT (caret) +DEFINE_ABELIAN_MONOID_CHECK_INSTANCE_WRT_EQUAL(caret) + +#define CHECK_ABELIAN_MONOID_INSTANCE_WRT(op_tag) check_abelian_monoid_instance_wrt_##op_tag +#define CHECK_ABELIAN_MONOID_INSTANCE_WRT_EQUAL(op_tag) check_abelian_monoid_instance_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Abelian partial invertive modoid instance +//------------------------------------------------------------------------------ + +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_partial_invertive_monoid_instance_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, var_c);\ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_a);\ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_b);\ +} + +#define DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ +void check_partial_invertive_monoid_instance_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, var_c);\ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_a);\ + CHECK_PARTIAL_INVERTIVE_MONOID_PERMUTED_WRT(op_tag)(var_a, var_b, ass_b);\ +} + +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT (plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT_EQUAL(plus) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT (pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT_EQUAL(pipe) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT (et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT_EQUAL(et) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT (caret) +DEFINE_PARTIAL_INVERTIVE_MONOID_CHECK_INSTANCE_WRT_EQUAL(caret) + +#define CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(op_tag) check_partial_invertive_monoid_instance_wrt_##op_tag +#define CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(op_tag) check_partial_invertive_monoid_instance_wrt_equal_##op_tag + + +//------------------------------------------------------------------------------ +// Abelian group instance +//------------------------------------------------------------------------------ + +#define DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT_EQUAL(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ + void check_abelian_group_instance_wrt_equal_##op_tag \ +(typename equality<TypeA>::type* equal, const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_ABELIAN_GROUP_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, var_c);\ + CHECK_ABELIAN_GROUP_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_a);\ + CHECK_ABELIAN_GROUP_PERMUTED_WRT_EQUAL(op_tag)(equal, var_a, var_b, ass_b);\ +} + +#define DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT(op_tag) \ +template<class TypeA, class TypeB, class TypeC, class AssocA, class AssocB> \ + void check_abelian_group_instance_wrt_##op_tag \ +(const TypeA& var_a, const TypeB& var_b, const TypeC& var_c, \ + const AssocA& ass_a, const AssocB& ass_b) \ +{ \ + CHECK_ABELIAN_GROUP_PERMUTED_WRT(op_tag)(var_a, var_b, var_c);\ + CHECK_ABELIAN_GROUP_PERMUTED_WRT(op_tag)(var_a, var_b, ass_a);\ + CHECK_ABELIAN_GROUP_PERMUTED_WRT(op_tag)(var_a, var_b, ass_b);\ +} + +DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT (plus) +DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT_EQUAL(plus) +DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT (pipe) +DEFINE_ABELIAN_GROUP_CHECK_INSTANCE_WRT_EQUAL(pipe) + +#define CHECK_ABELIAN_GROUP_INSTANCE_WRT(op_tag) check_abelian_group_instance_wrt_##op_tag +#define CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(op_tag) check_abelian_group_instance_wrt_equal_##op_tag + +}} // namespace icl boost + +#endif // BOOST_LIBS_ICL_TEST_ICL_LAWS_HPP_JOFA_090119 + diff --git a/src/boost/libs/icl/test/test_misc_/test_misc.cpp b/src/boost/libs/icl/test/test_misc_/test_misc.cpp new file mode 100644 index 00000000..8d3961a7 --- /dev/null +++ b/src/boost/libs/icl/test/test_misc_/test_misc.cpp @@ -0,0 +1,266 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::misc unit test + +#define BOOST_ICL_TEST_CHRONO + +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <vector> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/type_traits/is_same.hpp> +#include <boost/icl/rational.hpp> + +#include <boost/icl/detail/interval_morphism.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_set.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + + +BOOST_AUTO_TEST_CASE(test_law_complementarity) +{ + //LAW Inner complementarity: x + between(x) == hull(x) + //LAW: length(x) + length(between(x)) = length(hull(x)) + typedef interval_set<rational<int> > RatioSetT; + typedef RatioSetT::interval_type IntervalT; + typedef RatioSetT::element_type RatT; + typedef RatioSetT::difference_type DiffT; + + RatioSetT set_a; + (((set_a += IntervalT(RatT(0), RatT(1) ) ) + -= IntervalT(RatT(1,9), RatT(2,9)) ) + -= IntervalT(RatT(3,9), RatT(4,9)) ) + -= IntervalT(RatT(5,9), RatT(6,9)); + + RatioSetT between_a = RatioSetT(hull(set_a)) - set_a; + RatioSetT between_a2; + between(between_a2, set_a); + BOOST_CHECK_EQUAL( between_a, between_a2 ); + + DiffT len_set_a = length(set_a); + DiffT len_between_a = length(between_a); + + //cout << set_a << " length= " << len_set_a << endl; + //cout << between_a << " length= " << len_between_a << endl; + + RatioSetT span_a = set_a + between_a; + RatioSetT hull_a = RatioSetT(hull(set_a)); + //cout << span_a << endl; + + BOOST_CHECK_EQUAL( span_a, hull_a ); + BOOST_CHECK_EQUAL( len_set_a + len_between_a, length(hull_a) ); + + BOOST_CHECK((has_inner_complementarity<RatioSetT,RatioSetT>(set_a))); + BOOST_CHECK((has_length_complementarity(set_a))); + BOOST_CHECK((has_length_as_distance<RatioSetT,RatioSetT>(set_a))); +} + + +BOOST_AUTO_TEST_CASE(test_between) +{ + //LAW: between(a,b) == between(b,a); + typedef int T; + typedef interval<T>::type IntervalT; + + IntervalT itv_a = I_D(1,3); + IntervalT itv_b = I_D(5,7); + + IntervalT beween_a_b = between(itv_a, itv_b); + IntervalT beween_b_a = between(itv_b, itv_a); + + //cout << beween_a_b << endl; + //cout << beween_b_a << endl; + BOOST_CHECK_EQUAL( beween_a_b, beween_b_a ); +} + + +BOOST_AUTO_TEST_CASE(element_iteration) +{ + interval_map<int,int> map_a; + map_a += make_pair(interval<int>::right_open(0,3),1); + //cout << map_a << endl; + + //for(interval_map<int,int>::element_iterator elem = elements_begin(map_a); + // elem != elements_end(map_a); elem++) + // cout << "(" << elem->first << "," << elem->second << ")"; + //cout << "\n-------------------------------------\n"; + + std::pair<const int, int> search_pair(2,1); + + //interval_map<int,int>::element_const_iterator found + interval_map<int,int>::element_iterator found + = std::find(elements_begin(map_a), elements_end(map_a), search_pair); + // cout << "(" << found->first << "," << found->second << ")\n"; + BOOST_CHECK_EQUAL( found->first, 2 ); + BOOST_CHECK_EQUAL( found->second, 1 ); + + // Assignment of an associated value via element_iterator + const_cast<int&>(found->second) = 2; + // cout << map_a << endl; + BOOST_CHECK_EQUAL( map_a.begin()->second, 2 ); +} + + +BOOST_AUTO_TEST_CASE(test_interval_bounds_1) +{ + BOOST_CHECK_EQUAL(left_bracket(interval_bounds::closed()), "["); + BOOST_CHECK_EQUAL(left_bracket(interval_bounds::right_open()), "["); + BOOST_CHECK_EQUAL(left_bracket(interval_bounds::left_open()), "("); + BOOST_CHECK_EQUAL(left_bracket(interval_bounds::open()), "("); + BOOST_CHECK_EQUAL(right_bracket(interval_bounds::closed()), "]"); + BOOST_CHECK_EQUAL(right_bracket(interval_bounds::right_open()), ")"); + BOOST_CHECK_EQUAL(right_bracket(interval_bounds::left_open()), "]"); + BOOST_CHECK_EQUAL(right_bracket(interval_bounds::open()), ")"); + + continuous_interval<double> a_1 = continuous_interval<double>(-5.0, -2.3, interval_bounds::closed()); + continuous_interval<double> b_1 = continuous_interval<double>(-2.6, 4.0, interval_bounds::closed()); + + split_interval_set<double> a, b, a_o_b, b_o_a; + a_o_b += a_1; + a_o_b += b_1; + + b_o_a += b_1; + b_o_a += a_1; + + BOOST_CHECK_EQUAL(a_o_b, b_o_a); + + continuous_interval<double> c_1 = continuous_interval<double>(1.0, 3.0, interval_bounds::closed()); + continuous_interval<double> b_2 = right_subtract(b_1, c_1); + + BOOST_CHECK_EQUAL(b_2.bounds(), interval_bounds::right_open()); + BOOST_CHECK_EQUAL(icl::bounds(b_2), interval_bounds::right_open()); + + continuous_interval<double> L0T = continuous_interval<double>(0.0, 0.0, interval_bounds::closed()); + continuous_interval<double> C0T = continuous_interval<double>(0.0, 0.0, interval_bounds::left_open()); + continuous_interval<double> L0D = continuous_interval<double>(0.0, 0.0, interval_bounds::right_open()); + continuous_interval<double> C0D = continuous_interval<double>(0.0, 0.0, interval_bounds::open()); + + BOOST_CHECK_EQUAL(icl::is_empty(L0T), false); + BOOST_CHECK_EQUAL(icl::is_empty(C0T), true); + BOOST_CHECK_EQUAL(icl::is_empty(L0D), true); + BOOST_CHECK_EQUAL(icl::is_empty(C0D), true); + + + continuous_interval<double> L0_1T = continuous_interval<double>(0.0, 1.0, interval_bounds::closed()); + continuous_interval<double> L1_2T = continuous_interval<double>(1.0, 2.0, interval_bounds::closed()); + BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1T, L1_2T), false); + BOOST_CHECK_EQUAL(icl::inner_bounds(L0_1T, L1_2T) == interval_bounds::open(), true); + + continuous_interval<double> L0_1D = continuous_interval<double>(0.0, 1.0, interval_bounds::right_open()); + BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1D, L1_2T), true); + BOOST_CHECK_EQUAL(icl::inner_bounds(L0_1D, L1_2T) == interval_bounds::right_open(), true); + + continuous_interval<double> C1_2T = continuous_interval<double>(1.0, 2.0, interval_bounds::left_open()); + BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1T, C1_2T), true); + BOOST_CHECK_EQUAL(icl::inner_bounds(L0_1T, C1_2T) == interval_bounds::left_open(), true); + + BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1D, C1_2T), true); + BOOST_CHECK_EQUAL(icl::inner_bounds(L0_1D, C1_2T) == interval_bounds::closed(), true); + + BOOST_CHECK_EQUAL(static_cast<int>(icl::right(L0_1T.bounds()).bits()), 1); + BOOST_CHECK_EQUAL(static_cast<int>(icl::right(L0_1D.bounds()).bits()), 0); + + BOOST_CHECK_EQUAL(icl::right_bounds(L0_1D, L0_1T), interval_bounds::left_open()); +} + + +BOOST_AUTO_TEST_CASE(test_infinities) +{ + BOOST_CHECK(( has_std_infinity<double>::value)); + BOOST_CHECK((!has_std_infinity<int>::value)); + + BOOST_CHECK(( has_max_infinity<int>::value )); + BOOST_CHECK((!has_max_infinity<double>::value )); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( numeric_infinity<double>::value(), (std::numeric_limits<double>::infinity)() ); + BOOST_CHECK_EQUAL( numeric_infinity<int>::value(), (std::numeric_limits<int>::max)() ); + BOOST_CHECK_EQUAL( numeric_infinity<std::string>::value(), std::string() ); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( icl::infinity<double>::value(), (std::numeric_limits<double>::infinity)() ); + BOOST_CHECK_EQUAL( icl::infinity<int>::value(), (std::numeric_limits<int>::max)() ); + BOOST_CHECK_EQUAL( icl::infinity<std::string>::value(), icl::identity_element<std::string>::value() ); + + //-------------------------------------------------------------------------- + BOOST_CHECK_EQUAL( icl::infinity<boost::chrono::duration<double> >::value() + , boost::chrono::duration<double>((std::numeric_limits<double>::infinity)()) ); + BOOST_CHECK_EQUAL( icl::infinity<boost::chrono::duration<int> >::value() + , boost::chrono::duration<int>((std::numeric_limits<int>::max)()) ); +} + + +BOOST_AUTO_TEST_CASE(test_difference_types) +{ + BOOST_CHECK(( boost::is_same< int, difference_type_of<int>::type >::value )); + BOOST_CHECK(( boost::is_same< double, difference_type_of<double>::type >::value )); + BOOST_CHECK(( boost::is_same< std::ptrdiff_t, difference_type_of<int*>::type >::value )); + + BOOST_CHECK(( has_difference_type<std::string>::value )); + BOOST_CHECK(( boost::is_same< std::string::difference_type, difference_type_of<std::string>::type >::value )); + BOOST_CHECK(( boost::is_same< std::ptrdiff_t, difference_type_of<std::string>::type >::value )); + + BOOST_CHECK(( boost::is_same< boost::chrono::duration<int> + , difference_type_of<boost::chrono::duration<int> >::type >::value )); + BOOST_CHECK(( boost::is_same< boost::chrono::duration<double> + , difference_type_of<boost::chrono::duration<double> >::type >::value )); + + BOOST_CHECK(( boost::is_same< Now::time_point::duration + , difference_type_of<Now::time_point>::type >::value )); + + typedef boost::chrono::time_point<Now, boost::chrono::duration<double> > contin_timeT; + BOOST_CHECK(( boost::is_same< contin_timeT::duration + , difference_type_of<contin_timeT>::type >::value )); + + typedef boost::chrono::time_point<Now, boost::chrono::duration<int> > discr_timeT; + BOOST_CHECK(( boost::is_same< boost::chrono::duration<int> + , difference_type_of<discr_timeT>::type >::value )); +} + +BOOST_AUTO_TEST_CASE(test_size_types) +{ + BOOST_CHECK(( boost::is_same< std::size_t, size_type_of<int>::type >::value )); + BOOST_CHECK(( boost::is_same< std::size_t, size_type_of<double>::type >::value )); + BOOST_CHECK(( boost::is_same< std::size_t, size_type_of<int*>::type >::value )); + BOOST_CHECK(( boost::is_same< std::size_t, size_type_of<std::string>::type >::value )); + BOOST_CHECK(( boost::is_same< boost::chrono::duration<int> + , size_type_of<boost::chrono::duration<int> >::type >::value )); + BOOST_CHECK(( boost::is_same< boost::chrono::duration<double> + , size_type_of<boost::chrono::duration<double> >::type >::value )); + + typedef boost::chrono::time_point<Now, boost::chrono::duration<int> > discr_timeT; + BOOST_CHECK(( boost::is_same< boost::chrono::duration<int> + , size_type_of<discr_timeT>::type >::value )); + + typedef boost::chrono::time_point<Now, boost::chrono::duration<double> > contin_timeT; + BOOST_CHECK(( boost::is_same< contin_timeT::duration + , size_type_of<contin_timeT>::type >::value )); +} + +BOOST_AUTO_TEST_CASE(test_chrono_identity_elements) +{ + //boost::chrono::duration<int> idel_i = icl::identity_element<boost::chrono::duration<int> >::value(); + //cout << "dur<int>0 = " << idel_i << endl; + //boost::chrono::duration<double> idel_d = icl::identity_element<boost::chrono::duration<int> >::value(); + //cout << "dur<dbl>0 = " << idel_d << endl; + + BOOST_CHECK(( boost::is_same< boost::chrono::duration<int> + , size_type_of<boost::chrono::duration<int> >::type >::value )); +} diff --git a/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj b/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj new file mode 100644 index 00000000..48096bb4 --- /dev/null +++ b/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}</ProjectGuid> + <RootNamespace>Test_misc</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_misc.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj.filters b/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj.filters new file mode 100644 index 00000000..634bda59 --- /dev/null +++ b/src/boost/libs/icl/test/test_misc_/vc10_test_misc.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_misc.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_misc_/vc9_test_misc.vcproj b/src/boost/libs/icl/test/test_misc_/vc9_test_misc.vcproj new file mode 100644 index 00000000..a03ece0c --- /dev/null +++ b/src/boost/libs/icl/test/test_misc_/vc9_test_misc.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_misc" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}" + RootNamespace="Test_misc" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_misc.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp b/src/boost/libs/icl/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp new file mode 100644 index 00000000..68d022b8 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::partial_icl_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_icl_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_partial_icl_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj new file mode 100644 index 00000000..8b36cb36 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}</ProjectGuid> + <RootNamespace>Test_partial_icl_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_partial_icl_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj.filters b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj.filters new file mode 100644 index 00000000..f4dcaf46 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc10_test_partial_icl_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_partial_icl_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc9_test_partial_icl_quantifier.vcproj b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc9_test_partial_icl_quantifier.vcproj new file mode 100644 index 00000000..e2e60383 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_icl_quantifier_/vc9_test_partial_icl_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_partial_icl_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}" + RootNamespace="Test_partial_icl_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_partial_icl_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_partial_icl_quantifier_cases.hpp b/src/boost/libs/icl/test/test_partial_icl_quantifier_cases.hpp new file mode 100644 index 00000000..6cded3bc --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_icl_quantifier_cases.hpp @@ -0,0 +1,76 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 +#define BOOST_ICL_TEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + +//------------------------------------------------------------------------------ +// partial_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_icl_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_icl_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_icl_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +// x - x = 0 | partial absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_icl_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// partial_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_icl_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_icl_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_monoid_et_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_icl_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_icl_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +// x - x =d= 0 | partial enricher +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_icl_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types, T, bicremental_types) +{ icl_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE +(test_itl_partial_icl_quantifier_check_containedness_4_bicremental_types) +{ icl_quantifier_check_containedness_4_bicremental_types<bicremental_type_1, mono, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE +(test_itl_partial_enricher_icl_quantifier_check_containedness_4_bicremental_types) +{ icl_quantifier_check_containedness_4_bicremental_types<bicremental_type_1, mono, partial_enricher, INTERVAL_MAP>();} + + +#endif // BOOST_ICL_TEST_PARTIAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + diff --git a/src/boost/libs/icl/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp b/src/boost/libs/icl/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp new file mode 100644 index 00000000..72888643 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::partial_interval_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_partial_interval_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj new file mode 100644 index 00000000..fdda1190 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}</ProjectGuid> + <RootNamespace>Test_partial_interval_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_partial_interval_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj.filters b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj.filters new file mode 100644 index 00000000..4b531495 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc10_test_partial_interval_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_partial_interval_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj new file mode 100644 index 00000000..f5a8eab5 --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_partial_interval_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}" + RootNamespace="Test_partial_interval_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_partial_interval_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_partial_interval_quantifier_cases.hpp b/src/boost/libs/icl/test/test_partial_interval_quantifier_cases.hpp new file mode 100644 index 00000000..958294ec --- /dev/null +++ b/src/boost/libs/icl/test/test_partial_interval_quantifier_cases.hpp @@ -0,0 +1,86 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_PARTIAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_PARTIAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 + +//------------------------------------------------------------------------------ +// partial_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, partial_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +// x - x = 0 | partial absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types<T, int, partial_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// partial_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, partial_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +// x - x =d= 0 | partial enricher +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_partial_enricher_itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types<T, int, partial_enricher, INTERVAL_MAP>();} + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_enricher_itv_quantifier_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<T, int, partial_enricher, interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_enricher_itv_quantifier_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<T, double, partial_enricher, split_interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_absorber_itv_quantifier_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<T, int, partial_absorber, split_interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_partial_absorber_itv_quantifier_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<T, double, partial_absorber, interval_map>();} + + + +#endif // BOOST_ICL_TEST_PARTIAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 + diff --git a/src/boost/libs/icl/test/test_quantifier_icl_map.hpp b/src/boost/libs/icl/test/test_quantifier_icl_map.hpp new file mode 100644 index 00000000..4c33bfe6 --- /dev/null +++ b/src/boost/libs/icl/test/test_quantifier_icl_map.hpp @@ -0,0 +1,238 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_QUANTIFIER_ICL_MAP_HPP_JOFA_090119 +#define LIBS_ICL_TEST_TEST_QUANTIFIER_ICL_MAP_HPP_JOFA_090119 + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair1, map_pair2); +} + + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, map_pair1, map_pair2); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair1, map_pair2); +} + + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, map_pair1, map_pair2); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair1, map_pair2); +} + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid with distinct equality for inversion +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus)(map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe)(map_a, map_b, map_c, map_pair1, map_pair2); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(plus)(is_distinct_equal, map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(pipe)(is_distinct_equal, map_a, map_b, map_c, map_pair1, map_pair2); +#endif +} + + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_group_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_ABELIAN_GROUP_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_GROUP_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair1, map_pair2); +} + +//------------------------------------------------------------------------------ +// (0 - x) + x =d= 0 | +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + typedef icl::map<T,U,Trt> MapT; + + IntervalMapT itv_map_a, itv_map_b, itv_map_c; + itv_map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + itv_map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + itv_map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + MapT map_a, map_b, map_c; + segmental::atomize(map_a, itv_map_a); + segmental::atomize(map_b, itv_map_b); + segmental::atomize(map_c, itv_map_c); + + typename MapT::value_type map_pair1 = sK_v(5,1); + typename MapT::value_type map_pair2 = sK_v(9,3); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, map_pair1, map_pair2); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(plus) (is_distinct_equal, map_a, map_b, map_c, map_pair1, map_pair2); + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_distinct_equal, map_a, map_b, map_c, map_pair1, map_pair2); +#endif +} + +#endif // LIBS_ICL_TEST_TEST_QUANTIFIER_ICL_MAP_HPP_JOFA_090119 + diff --git a/src/boost/libs/icl/test/test_quantifier_map_shared.hpp b/src/boost/libs/icl/test/test_quantifier_map_shared.hpp new file mode 100644 index 00000000..4abe4550 --- /dev/null +++ b/src/boost/libs/icl/test/test_quantifier_map_shared.hpp @@ -0,0 +1,190 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_QUANTIFIER_MAP_SHARED_HPP_JOFA_090119 +#define LIBS_ICL_TEST_TEST_QUANTIFIER_MAP_SHARED_HPP_JOFA_090119 + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + + +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(map_a, map_b, map_c, val_pair, map_pair); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid with distinct equality for inversion +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_partial_invertive_monoid_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus)(map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe)(map_a, map_b, map_c, val_pair, map_pair); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(plus)(is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT_EQUAL(pipe)(is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); +#endif +} + + +//------------------------------------------------------------------------------ +// Abelian group EANIC +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_group_plus_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_ABELIAN_GROUP_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_GROUP_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); +} + +//------------------------------------------------------------------------------ +// (0 - x) + x =d= 0 | +//------------------------------------------------------------------------------ +template <class T, class U, class Trt, + ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap> +void itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types() +{ + typedef IntervalMap<T,U,Trt> IntervalMapT; + + IntervalMapT map_a, map_b, map_c; + map_a.add(IDv(3,6,1)).add(IIv(5,7,1)); + map_b.add(CDv(1,3,1)).add(IDv(8,9,1)); + map_c.add(IDv(0,9,2)).add(IIv(3,6,1)).add(IDv(5,7,1)); + + typename IntervalMapT::interval_mapping_type val_pair = IDv(6,9,1); + mapping_pair<T,U> map_pair = K_v(5,1); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (map_a, map_b, map_c, val_pair, map_pair); + +#if !defined(_MSC_VER) || (_MSC_VER >= 1400) // 1310==MSVC-7.1 1400 ==MSVC-8.0 + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(plus) (is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); + CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_distinct_equal, map_a, map_b, map_c, val_pair, map_pair); +#endif +} + +#endif // LIBS_ICL_TEST_TEST_QUANTIFIER_MAP_SHARED_HPP_JOFA_090119 + diff --git a/src/boost/libs/icl/test/test_separate_interval_set_/test_separate_interval_set.cpp b/src/boost/libs/icl/test/test_separate_interval_set_/test_separate_interval_set.cpp new file mode 100644 index 00000000..0d868d16 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_/test_separate_interval_set.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::separate_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET separate_interval_set +#include "../test_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj b/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj new file mode 100644 index 00000000..bc7da6c4 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}</ProjectGuid> + <RootNamespace>Test_separate_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_separate_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\separate_interval_set.hpp" /> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <ItemGroup> + <None Include="ClassDiagram1.cd" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj.filters b/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj.filters new file mode 100644 index 00000000..986351d9 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_/vc10_test_separate_interval_set.vcxproj.filters @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_separate_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\separate_interval_set.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <None Include="ClassDiagram1.cd" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj b/src/boost/libs/icl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj new file mode 100644 index 00000000..6b0e812a --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_separate_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}" + RootNamespace="Test_separate_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_separate_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\..\..\boost\itl\separate_interval_set.hpp" + > + </File> + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + <File + RelativePath=".\ClassDiagram1.cd" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp b/src/boost/libs/icl/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp new file mode 100644 index 00000000..445b5750 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::separate_interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET separate_interval_set +#include "../test_interval_set_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj new file mode 100644 index 00000000..8d1ae195 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D2623E950E}</ProjectGuid> + <RootNamespace>test_separate_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_separate_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..f11681f7 --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc10_test_separate_interval_set_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_separate_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj new file mode 100644 index 00000000..0b42280b --- /dev/null +++ b/src/boost/libs/icl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_separate_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D2623E950E}" + RootNamespace="test_separate_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_separate_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_set_icl_set.hpp b/src/boost/libs/icl/test/test_set_icl_set.hpp new file mode 100644 index 00000000..92e666df --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set.hpp @@ -0,0 +1,139 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_SET_ICL_SET_HPP_JOFA_090119 +#define LIBS_ICL_TEST_TEST_SET_ICL_SET_HPP_JOFA_090119 + +#include "portability.hpp" + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void itl_set_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::set<T> SetT; + + IntervalSetT itv_set_a, itv_set_b, itv_set_c; + itv_set_a.add(I_D(3,6)).add(I_I(5,7)); + itv_set_b.add(C_D(1,3)).add(I_D(8,9)); + itv_set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + SetT set_a, set_b, set_c; + segmental::atomize(set_a, itv_set_a); + segmental::atomize(set_b, itv_set_b); + segmental::atomize(set_c, itv_set_c); + + T val1 = MK_v(7); + T val2 = MK_v(5); + + CHECK_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, val1, val2); + CHECK_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, val1, val2); +} + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void itl_set_check_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::set<T> SetT; + + IntervalSetT itv_set_a, itv_set_b, itv_set_c; + itv_set_a.add(I_D(3,6)).add(I_I(5,7)); + itv_set_b.add(C_D(1,3)).add(I_D(8,9)); + itv_set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + SetT set_a, set_b, set_c; + segmental::atomize(set_a, itv_set_a); + segmental::atomize(set_b, itv_set_b); + segmental::atomize(set_c, itv_set_c); + + T val1 = MK_v(7); + T val2 = MK_v(5); + + CHECK_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, val1, val2); + CHECK_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, val1, val2); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void itl_set_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::set<T> SetT; + + IntervalSetT itv_set_a, itv_set_b, itv_set_c; + itv_set_a.add(I_D(3,6)).add(I_I(5,7)); + itv_set_b.add(C_D(1,3)).add(I_D(8,9)); + itv_set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + SetT set_a, set_b, set_c; + segmental::atomize(set_a, itv_set_a); + segmental::atomize(set_b, itv_set_b); + segmental::atomize(set_c, itv_set_c); + + T val1 = MK_v(7); + T val2 = MK_v(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, val1, val2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, val1, val2); +} + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void itl_set_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::set<T> SetT; + + IntervalSetT itv_set_a, itv_set_b, itv_set_c; + itv_set_a.add(I_D(3,6)).add(I_I(5,7)); + itv_set_b.add(C_D(1,3)).add(I_D(8,9)); + itv_set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + SetT set_a, set_b, set_c; + segmental::atomize(set_a, itv_set_a); + segmental::atomize(set_b, itv_set_b); + segmental::atomize(set_c, itv_set_c); + + T val1 = MK_v(7); + T val2 = MK_v(5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, val1, val2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, val1, val2); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void itl_set_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef std::set<T> SetT; + + IntervalSetT itv_set_a, itv_set_b, itv_set_c; + itv_set_a.add(I_D(3,6)).add(I_I(5,7)); + itv_set_b.add(C_D(1,3)).add(I_D(8,9)); + itv_set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + SetT set_a, set_b, set_c; + segmental::atomize(set_a, itv_set_a); + segmental::atomize(set_b, itv_set_b); + segmental::atomize(set_c, itv_set_c); + + T val1 = MK_v(7); + T val2 = MK_v(5); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, val1, val2); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, val1, val2); +} + +#endif // LIBS_ICL_TEST_TEST_SET_ICL_SET_HPP_JOFA_090119 diff --git a/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set.cpp b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set.cpp new file mode 100644 index 00000000..66102860 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set.cpp @@ -0,0 +1,41 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::set_itl_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <set> +#include <boost/interprocess/containers/set.hpp> +#include <boost/icl/associative_element_container.hpp> + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_set_icl_set.hpp" + +#include "test_set_icl_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_cases.hpp b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_cases.hpp new file mode 100644 index 00000000..13f21cba --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_cases.hpp @@ -0,0 +1,35 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_monoid_plus_4_bicremental_types<T, interval_set>();} + //MEMO: interval_set +// is used here pragmatically to be able to recycle test code for initializing +// sets. These interval_set are then converted to icl::set by atomize. + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_plus_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_et_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_et_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, interval_set>();} + +#endif // BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 + + diff --git a/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_shared.cpp b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_shared.cpp new file mode 100644 index 00000000..9432d4df --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/test_set_icl_set_shared.cpp @@ -0,0 +1,28 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_monoid_plus_4_bicremental_types<T, interval_set>();} + + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_plus_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_et_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_et_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, interval_set>();} + diff --git a/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj b/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj new file mode 100644 index 00000000..2ee7889f --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}</ProjectGuid> + <RootNamespace>Test_set_itl_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_set_icl_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj.filters b/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj.filters new file mode 100644 index 00000000..b2cd7787 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/vc10_test_set_icl_set.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_set_icl_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_set_icl_set_/vc9_test_set_icl_set.vcproj b/src/boost/libs/icl/test/test_set_icl_set_/vc9_test_set_icl_set.vcproj new file mode 100644 index 00000000..468ca9b9 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_/vc9_test_set_icl_set.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_set_icl_set" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}" + RootNamespace="Test_set_itl_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_set_icl_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_set_icl_set_cases.hpp b/src/boost/libs/icl/test/test_set_icl_set_cases.hpp new file mode 100644 index 00000000..2100b7e6 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_icl_set_cases.hpp @@ -0,0 +1,29 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_monoid_plus_4_bicremental_types<T, INTERVAL_SET>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_plus_4_bicremental_types<T, INTERVAL_SET>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_abelian_monoid_et_4_bicremental_types, T, discrete_types) +{ itl_set_check_abelian_monoid_et_4_bicremental_types<T, INTERVAL_SET>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_itl_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, discrete_types) +{ itl_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, INTERVAL_SET>();} + +#endif // BOOST_ICL_TEST_SET_ICL_SET_CASES_HPP_JOFA_090701 + + diff --git a/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set.cpp b/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set.cpp new file mode 100644 index 00000000..abb05ef5 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::set_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_set.hpp> +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/detail/interval_morphism.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_set_interval_set_shared.hpp" + +#include "test_set_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set_cases.hpp b/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set_cases.hpp new file mode 100644 index 00000000..7f0b64f5 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_/test_set_interval_set_cases.hpp @@ -0,0 +1,118 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090701 + +//------------------------------------------------------------------------------ +// interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, interval_set>();} + + +//------------------------------------------------------------------------------ +// separate_interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_separate_interval_set_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<T, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_separate_interval_set_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<T, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_separate_interval_set_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<T, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_separate_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, separate_interval_set>();} + + +//------------------------------------------------------------------------------ +// split_interval_set +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_split_interval_set_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_monoid_plus_4_bicremental_types<T, split_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_split_interval_set_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_plus_4_bicremental_types<T, split_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_split_interval_set_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ interval_set_check_abelian_monoid_et_4_bicremental_types<T, split_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_split_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types, T, bicremental_types) +{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<T, split_interval_set>();} + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_set_check_containedness_4_bicremental_types, T, bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_split_interval_set_check_containedness_4_bicremental_types, T, bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<T, split_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_separate_interval_set_check_containedness_4_bicremental_types, T, bicremental_types) +{ interval_set_check_containedness_4_bicremental_types<T, separate_interval_set>();} + +//------------------------------------------------------------------------------ +// Inner Complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_set_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_separate_interval_set_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<T, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_split_interval_set_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_inner_complementarity_4_bicremental_types<T, split_interval_set>();} + +//------------------------------------------------------------------------------ +// Inner Complement and Distance +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_icl_interval_set_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<T, interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_separate_interval_set_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<T, separate_interval_set>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(fastest_itl_split_interval_set_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ interval_set_check_length_complementarity_4_bicremental_types<T, split_interval_set>();} + + + +#endif // BOOST_ICL_TEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090701 + diff --git a/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj b/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj new file mode 100644 index 00000000..b285fe56 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}</ProjectGuid> + <RootNamespace>Test_set_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_set_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj.filters b/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj.filters new file mode 100644 index 00000000..fb69c35d --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_/vc10_test_set_interval_set.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_set_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj b/src/boost/libs/icl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj new file mode 100644 index 00000000..7542eb28 --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_set_interval_set" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}" + RootNamespace="Test_set_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_set_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_set_interval_set_shared.hpp b/src/boost/libs/icl/test/test_set_interval_set_shared.hpp new file mode 100644 index 00000000..e4ac13ea --- /dev/null +++ b/src/boost/libs/icl/test/test_set_interval_set_shared.hpp @@ -0,0 +1,195 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2010: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef LIBS_ICL_TEST_TEST_SET_INTERVAL_SET_SHARED_HPP_JOFA_090119 +#define LIBS_ICL_TEST_TEST_SET_INTERVAL_SET_SHARED_HPP_JOFA_090119 + +#include "portability.hpp" + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void make_3_interval_sets_and_derivatives_1 + (ICL_PORT_msvc_7_1_IntervalSet(T)& set_a, + ICL_PORT_msvc_7_1_IntervalSet(T)& set_b, + ICL_PORT_msvc_7_1_IntervalSet(T)& set_c, + typename ICL_PORT_msvc_7_1_IntervalSet(T)::segment_type& segm_d, + typename ICL_PORT_msvc_7_1_IntervalSet(T)::element_type& elem_e) +{ + segm_d = I_D(6,9); + elem_e = MK_v(5); + + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); +} + + + +//------------------------------------------------------------------------------ +// Monoid EAN +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type inter_val1 = I_D(6,9); + typename IntervalSetT::segment_type inter_val2 = I_I(5,5); + + CHECK_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, inter_val1, inter_val2); + CHECK_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, inter_val1, inter_val2); +} + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + //CJ typedef typename IntervalSetT::interval_type IntervalT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type inter_val1 = I_D(6,9); + typename IntervalSetT::segment_type inter_val2 = I_I(5,5); + + CHECK_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, inter_val1, inter_val2); + CHECK_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, inter_val1, inter_val2); +} + +//------------------------------------------------------------------------------ +// Abelian monoid EANC +//------------------------------------------------------------------------------ + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type inter_val1 = I_D(6,9); + typename IntervalSetT::segment_type inter_val2 = I_I(5,5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, inter_val1, inter_val2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, inter_val1, inter_val2); +} + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_abelian_monoid_et_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type inter_val1 = I_D(6,9); + typename IntervalSetT::segment_type inter_val2 = I_I(5,5); + + CHECK_ABELIAN_MONOID_INSTANCE_WRT(et) (set_a, set_b, set_c, inter_val1, inter_val2); + CHECK_ABELIAN_MONOID_INSTANCE_WRT(caret)(set_a, set_b, set_c, inter_val1, inter_val2); +} + + +//------------------------------------------------------------------------------ +// Abelian partial invertive monoid +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_partial_invertive_monoid_plus_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + + IntervalSetT set_a, set_b, set_c; + set_a.add(I_D(3,6)).add(I_I(5,7)); + set_b.add(C_D(1,3)).add(I_D(8,9)); + set_c.add(I_D(0,9)).add(I_I(3,6)).add(I_D(5,7)); + + typename IntervalSetT::segment_type inter_val1 = I_D(6,9); + typename IntervalSetT::segment_type inter_val2 = I_I(5,5); + + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(plus) (set_a, set_b, set_c, inter_val1, inter_val2); + CHECK_PARTIAL_INVERTIVE_MONOID_INSTANCE_WRT(pipe) (set_a, set_b, set_c, inter_val1, inter_val2); +} + + +//------------------------------------------------------------------------------ +// Containedness +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_containedness_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::segment_type segment_type; + typedef typename IntervalSetT::element_type element_type; + + IntervalSetT set_a, set_b, set_c; + segment_type segm_d; + element_type elem_e; + make_3_interval_sets_and_derivatives_1(set_a, set_b, set_c, segm_d, elem_e); + + check_intersection_containedness(set_a, set_c); + check_intersection_containedness(set_b, segm_d); + check_intersection_containedness(set_c, elem_e); + + check_union_containedness(set_c, set_c); + check_union_containedness(set_b, segm_d); + check_union_containedness(set_a, elem_e); +} + + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_inner_complementarity_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::segment_type segment_type; + typedef typename IntervalSetT::element_type element_type; + + IntervalSetT set_a, set_b, set_c; + segment_type segm_d; + element_type elem_e; + make_3_interval_sets_and_derivatives_1(set_a, set_b, set_c, segm_d, elem_e); + + has_inner_complementarity<IntervalSetT,IntervalSetT>(set_a); + has_inner_complementarity<IntervalSetT,IntervalSetT>(set_b); + has_inner_complementarity<IntervalSetT,IntervalSetT>(set_c); +} + +template <class T, ICL_IntervalSet_TEMPLATE(_T) IntervalSet> +void interval_set_check_length_complementarity_4_bicremental_types() +{ + typedef IntervalSet<T> IntervalSetT; + typedef typename IntervalSetT::segment_type segment_type; + typedef typename IntervalSetT::element_type element_type; + + IntervalSetT set_a, set_b, set_c; + segment_type segm_d; + element_type elem_e; + make_3_interval_sets_and_derivatives_1(set_a, set_b, set_c, segm_d, elem_e); + + has_length_complementarity(set_a); + has_length_complementarity(set_b); + has_length_complementarity(set_c); + + has_length_as_distance<IntervalSetT,IntervalSetT>(set_a); + has_length_as_distance<IntervalSetT,IntervalSetT>(set_b); + has_length_as_distance<IntervalSetT,IntervalSetT>(set_c); +} + +#endif // LIBS_ICL_TEST_TEST_SET_INTERVAL_SET_SHARED_HPP_JOFA_090119 diff --git a/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map.cpp b/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map.cpp new file mode 100644 index 00000000..74b49d14 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_map unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" +#include "../test_functions.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP split_interval_map +#include "../test_interval_map_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map_shared.cpp b/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map_shared.cpp new file mode 100644 index 00000000..c98bdc8b --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_/test_split_interval_map_shared.cpp @@ -0,0 +1,72 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_fundamentals_4_ordered_types, T, ordered_types) +{ interval_map_fundamentals_4_ordered_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_ctor_4_bicremental_types, T, bicremental_types) +{ interval_map_ctor_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_map_add_sub_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_types, T, bicremental_types) +{ interval_map_distinct_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_distinct_4_bicremental_continuous_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_map_isolate_4_bicremental_continuous_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_contains_4_bicremental_types, T, bicremental_types) +{ interval_map_contains_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_operators_4_bicremental_types, T, bicremental_types) +{ interval_map_operators_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_map_base_intersect_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_erase_4_bicremental_types, T, bicremental_types) +{ interval_map_base_erase_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_base_is_disjoint_4_bicremental_types, T, bicremental_types) +{ interval_map_base_is_disjoint_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_plus_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_pipe_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_pipe_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_et_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_et_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_infix_caret_overload_4_bicremental_types, T, bicremental_types) +{ interval_map_infix_caret_overload_4_bicremental_types<split_interval_map, T, int>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_map_find_4_bicremental_types, T, bicremental_types) +{ interval_map_find_4_bicremental_types<split_interval_map, T, int>();} + diff --git a/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj b/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj new file mode 100644 index 00000000..f75414f8 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}</ProjectGuid> + <RootNamespace>Test_split_interval_map</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_map.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj.filters b/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj.filters new file mode 100644 index 00000000..b88413b1 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_/vc10_test_split_interval_map.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_map.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj b/src/boost/libs/icl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj new file mode 100644 index 00000000..f15caa61 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_split_interval_map" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}" + RootNamespace="Test_split_interval_map" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_split_interval_map.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp b/src/boost/libs/icl/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp new file mode 100644 index 00000000..13ac486e --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp @@ -0,0 +1,37 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_map_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/separate_interval_set.hpp> +#include <boost/icl/split_interval_set.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_map_shared are tests that should give identical results for all +// interval_maps: interval_map and split_interval_map. +#include "../test_interval_map_shared.hpp" + +#define INTERVAL_MAP split_interval_map +#include "../test_interval_map_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj new file mode 100644 index 00000000..422c6a62 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}</ProjectGuid> + <RootNamespace>Test_split_interval_map_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_map_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj.filters b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj.filters new file mode 100644 index 00000000..16523dd8 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc10_test_split_interval_map_infix.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_map_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj new file mode 100644 index 00000000..5f892c5e --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_split_interval_map_infix" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}" + RootNamespace="Test_split_interval_map_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_split_interval_map_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set.cpp b/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set.cpp new file mode 100644 index 00000000..d1e20ceb --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_set unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET split_interval_set +#include "../test_interval_set_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set_shared.cpp b/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set_shared.cpp new file mode 100644 index 00000000..c53b5f77 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_/test_split_interval_set_shared.cpp @@ -0,0 +1,60 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_fundamentals_4_ordered_types, T, ordered_types) +{ interval_set_fundamentals_4_ordered_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_ctor_4_bicremental_types, T, bicremental_types) +{ interval_set_ctor_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_add_sub_4_bicremental_types, T, bicremental_types) +{ interval_set_add_sub_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_types, T, bicremental_types) +{ interval_set_distinct_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_distinct_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_distinct_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_isolate_4_bicremental_continuous_types, T, bicremental_continuous_types) +{ interval_set_isolate_4_bicremental_continuous_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_element_compare_4_bicremental_types, T, bicremental_types) +{ interval_set_element_compare_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_contains_4_bicremental_types, T, bicremental_types) +{ interval_set_contains_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_operators_4_bicremental_types, T, bicremental_types) +{ interval_set_operators_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_base_intersect_4_bicremental_types, T, bicremental_types) +{ interval_set_base_intersect_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_infix_plus_overload_4_bicremental_types, T, bicremental_types) +{ interval_set_infix_plus_overload_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_find_4_bicremental_types, T, bicremental_types) +{ interval_set_find_4_bicremental_types<INTERVAL_SET, T>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_icl_interval_set_find_4_bicremental_types, T, bicremental_types) +{ interval_set_find_4_bicremental_types<INTERVAL_SET, T>();} + + diff --git a/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj b/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj new file mode 100644 index 00000000..d5351a51 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}</ProjectGuid> + <RootNamespace>Test_split_interval_set</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_set.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\split_interval_set.hpp" /> + <ClInclude Include="..\test_interval_set_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj.filters b/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj.filters new file mode 100644 index 00000000..13ebbf46 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_/vc10_test_split_interval_set.vcxproj.filters @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_set.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\boost\itl\split_interval_set.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_interval_set_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj b/src/boost/libs/icl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj new file mode 100644 index 00000000..344580e7 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_split_interval_set" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}" + RootNamespace="Test_split_interval_set" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_split_interval_set.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\..\..\boost\itl\split_interval_set.hpp" + > + </File> + <File + RelativePath="..\test_interval_set_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp b/src/boost/libs/icl/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp new file mode 100644 index 00000000..fe73987e --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp @@ -0,0 +1,34 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::split_interval_set_infix unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/split_interval_set.hpp> + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_set_shared.hpp" + +#define INTERVAL_SET split_interval_set +#include "../test_interval_set_infix_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj new file mode 100644 index 00000000..3cf68c6e --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{DD9C9854-3882-42B9-BFA2-35D3623E950E}</ProjectGuid> + <RootNamespace>test_split_interval_set_infix</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_set_infix.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj.filters b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj.filters new file mode 100644 index 00000000..09b09ed1 --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc10_test_split_interval_set_infix.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_split_interval_set_infix.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj new file mode 100644 index 00000000..437140ee --- /dev/null +++ b/src/boost/libs/icl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_split_interval_set_infix" + ProjectGUID="{DD9C9854-3882-42B9-BFA1-35D3623E950E}" + RootNamespace="test_split_interval_set_infix" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_split_interval_set_infix.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp b/src/boost/libs/icl/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp new file mode 100644 index 00000000..95d2758a --- /dev/null +++ b/src/boost/libs/icl/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::total_icl_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_total_interval_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj new file mode 100644 index 00000000..13fa49f8 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}</ProjectGuid> + <RootNamespace>Test_total_icl_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_total_icl_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj.filters b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj.filters new file mode 100644 index 00000000..fa52ea9a --- /dev/null +++ b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc10_test_total_icl_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_total_icl_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_total_icl_quantifier_/vc9_test_total_icl_quantifier.vcproj b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc9_test_total_icl_quantifier.vcproj new file mode 100644 index 00000000..8aa81f16 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_icl_quantifier_/vc9_test_total_icl_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_total_icl_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}" + RootNamespace="Test_total_icl_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_total_icl_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_total_icl_quantifier_cases.hpp b/src/boost/libs/icl/test/test_total_icl_quantifier_cases.hpp new file mode 100644 index 00000000..5d5c5e20 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_icl_quantifier_cases.hpp @@ -0,0 +1,81 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_TOTAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 +#define BOOST_ICL_TEST_TOTAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + +//------------------------------------------------------------------------------ +// total_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, double, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, total_absorber, INTERVAL_MAP>();} + +// (0-x) + x = 0 | total absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_discrete_codomain, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_1, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, float, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_2, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, boost::rational<int>, total_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// total_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, float, total_enricher, INTERVAL_MAP>();} + +// (0-x) + x =d= 0 | total absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_discrete_codomain, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_continuous_codomain_1, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, double, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_continuous_codomain_2, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, boost::rational<int>, total_enricher, INTERVAL_MAP>();} + + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + +#endif // BOOST_ICL_TEST_TOTAL_ICL_QUANTIFIER_CASES_HPP_JOFA_100819 + diff --git a/src/boost/libs/icl/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp b/src/boost/libs/icl/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp new file mode 100644 index 00000000..3312785d --- /dev/null +++ b/src/boost/libs/icl/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp @@ -0,0 +1,36 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::total_interval_quantifier unit test +#include <libs/icl/test/disable_test_warnings.hpp> +#include <string> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/icl/interval_map.hpp> +#include <boost/icl/split_interval_map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +// ----------------------------------------------------------------------------- +// test_interval_set_shared are tests that should give identical results for all +// interval_sets: interval_set, separate_interval_set and split_interval_set. +#include "../test_interval_quantifier_shared.hpp" + +#define INTERVAL_MAP interval_map +#include "../test_total_interval_quantifier_cases.hpp" + + diff --git a/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj new file mode 100644 index 00000000..5dc5a0e3 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}</ProjectGuid> + <RootNamespace>Test_total_interval_quantifier</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_total_interval_quantifier.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj.filters b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj.filters new file mode 100644 index 00000000..164577b7 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc10_test_total_interval_quantifier.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_total_interval_quantifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj new file mode 100644 index 00000000..aef47a0d --- /dev/null +++ b/src/boost/libs/icl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_total_interval_quantifier" + ProjectGUID="{EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}" + RootNamespace="Test_total_interval_quantifier" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/bigobj" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_total_interval_quantifier.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_total_interval_quantifier_cases.hpp b/src/boost/libs/icl/test/test_total_interval_quantifier_cases.hpp new file mode 100644 index 00000000..3b8f9fd1 --- /dev/null +++ b/src/boost/libs/icl/test/test_total_interval_quantifier_cases.hpp @@ -0,0 +1,100 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 +#define BOOST_ICL_TEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 + +//------------------------------------------------------------------------------ +// total_absorber +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, double, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, int, total_absorber, INTERVAL_MAP>();} + +// (0-x) + x = 0 | total absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_discrete_codomain, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, int, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_1, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, float, total_absorber, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_itv_quantifier_check_abelian_group_plus_4_bicremental_domain_and_continuous_codomain_2, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_4_bicremental_types<T, boost::rational<int>, total_absorber, INTERVAL_MAP>();} + +//------------------------------------------------------------------------------ +// total_enricher +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_plus_4_bicremental_types<T, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_monoid_et_4_bicremental_types<T, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_monoid_plus_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_plus_4_bicremental_types<T, std::string, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_monoid_et_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_abelian_monoid_et_4_bicremental_types<T, float, total_enricher, INTERVAL_MAP>();} + +// (0-x) + x =d= 0 | total absorber +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_discrete_codomain, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, int, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_continuous_codomain_1, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, double, total_enricher, INTERVAL_MAP>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_domain_and_continuous_codomain_2, T, bicremental_types) +{ itv_quantifier_check_abelian_group_plus_prot_inv_4_bicremental_types<T, boost::rational<int>, total_enricher, INTERVAL_MAP>();} + + +// absorber enricher +// partial x - x == 0 x - x =d= 0 partiality of subtraction +// total (-x)+ x == 0 (-x)+ x =d= 0 totality of subtraction + +//------------------------------------------------------------------------------ +// Inner complement +//------------------------------------------------------------------------------ +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<T, int, total_enricher, interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_enricher_itv_quantifier_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<T, double, total_enricher, split_interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_absorber_itv_quantifier_check_inner_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_inner_complementarity_4_bicremental_types<T, int, total_absorber, split_interval_map>();} + +BOOST_AUTO_TEST_CASE_TEMPLATE +(test_itl_total_absorber_itv_quantifier_check_length_complementarity_4_bicremental_types, T, bicremental_types) +{ itv_quantifier_check_length_complementarity_4_bicremental_types<T, double, total_absorber, interval_map>();} + +#endif // BOOST_ICL_TEST_TOTAL_INTERVAL_QUANTIFIER_CASES_HPP_JOFA_090701 + diff --git a/src/boost/libs/icl/test/test_type_lists.hpp b/src/boost/libs/icl/test/test_type_lists.hpp new file mode 100644 index 00000000..78e6df3c --- /dev/null +++ b/src/boost/libs/icl/test/test_type_lists.hpp @@ -0,0 +1,316 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_TYPE_LISTS_HPP_JOFA_080916 +#define BOOST_ICL_TEST_TYPE_LISTS_HPP_JOFA_080916 + +//#define BOOST_ICL_TEST_XINT +//#define BOOST_ICL_TEST_CHRONO + +#include <boost/mpl/list.hpp> + +// interval instance types +#include <boost/icl/gregorian.hpp> +#include <boost/icl/ptime.hpp> + +#ifdef BOOST_ICL_TEST_XINT +# include <boost/icl/xint.hpp> +#endif + +#ifdef BOOST_ICL_TEST_CHRONO +# define BOOST_CHRONO_EXTENSIONS +# include <libs/icl/test/chrono/utility.hpp> + + namespace boch = boost::chrono; +#endif + +#include <boost/icl/rational.hpp> + + +#if(_MSC_VER < 1500 && defined(_DEBUG) ) // 1500 = MSVC-9.0 + typedef int boost_posix_time_ptime; + typedef int boost_posix_time_duration; + typedef int boost_gregorian_date; + typedef int boost_gregorian_date_duration; +#else + typedef boost::posix_time::ptime boost_posix_time_ptime; + typedef boost::posix_time::time_duration boost_posix_time_duration; + typedef boost::gregorian::date boost_gregorian_date; + typedef boost::gregorian::date_duration boost_gregorian_date_duration; +#endif + +typedef ::boost::mpl::list< + unsigned short, unsigned int, unsigned long + ,short, int, long, long long + ,float, double, long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::xint::integer + ,boost::rational<boost::xint::integer> +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<int> + ,boch::duration<double> + ,Now::time_point + ,boch::time_point<Now, boch::duration<double> > +#endif + ,boost_posix_time_ptime + ,boost_posix_time_duration + ,boost_gregorian_date + ,boost_gregorian_date_duration + ,int* +> bicremental_types; + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<long long, boost::ratio<1,113> > duration_long2_113s; + typedef boch::duration<int, boost::ratio<11,113> > duration_int_11_113s; + typedef boch::duration<boost::rational<int>, boost::ratio<101,997> > duration_rational_101_997s; + typedef boch::time_point<Now, duration_int_11_113s > Now_time_int_11_113s; + typedef boch::time_point<Now, boch::duration<double> > Now_time_double; + typedef boch::time_point<Now, boch::duration<boost::rational<int> > > Now_time_rational; + typedef boch::time_point<Now, duration_rational_101_997s > Now_time_rational_101_997s; + + typedef boch::duration<int> bicremental_type_1; + typedef boch::duration<double> bicremental_type_2; + typedef Now::time_point bicremental_type_3; + typedef Now_time_double bicremental_type_4; + typedef Now_time_rational bicremental_type_5; + typedef duration_long2_113s bicremental_type_6; + typedef duration_rational_101_997s bicremental_type_7; + typedef Now_time_rational_101_997s bicremental_type_8; +#else + typedef unsigned int bicremental_type_1; + typedef int bicremental_type_2; + typedef double bicremental_type_3; + typedef boost::rational<int> bicremental_type_4; + typedef boost_posix_time_ptime bicremental_type_5; + typedef short bicremental_type_6; + typedef float bicremental_type_7; + typedef int* bicremental_type_8; +#endif //BOOST_ICL_TEST_CHRONO + +typedef ::boost::mpl::list< + short, int, long, long long + ,float, double, long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::xint::integer + ,boost::rational<boost::xint::integer> +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<int> + ,boch::duration<float> + ,Now::time_point +#endif +> signed_bicremental_types; + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<int> signed_bicremental_type_1; + typedef boch::duration<double> signed_bicremental_type_2; + typedef Now::time_point signed_bicremental_type_3; + typedef Now_time_double signed_bicremental_type_4; + typedef Now_time_rational signed_bicremental_type_5; +#else + typedef int signed_bicremental_type_1; + typedef double signed_bicremental_type_2; + typedef boost::rational<int> signed_bicremental_type_3; + typedef short signed_bicremental_type_4; + typedef float signed_bicremental_type_5; +#endif //BOOST_ICL_TEST_CHRONO + +//DBG short list for debugging +typedef ::boost::mpl::list< + int +> debug_types; + +typedef ::boost::mpl::list< + float, double, long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::rational<boost::xint::integer> +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<double> + ,boch::time_point<Now, boch::duration<double> > +#endif +> bicremental_continuous_types; + + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<double> bicremental_continuous_type_1; + typedef Now_time_double bicremental_continuous_type_2; + typedef Now_time_rational bicremental_continuous_type_3; +#else + typedef float bicremental_continuous_type_1; + typedef double bicremental_continuous_type_2; + typedef boost::rational<int> bicremental_continuous_type_3; +#endif // BOOST_ICL_TEST_CHRONO + + +typedef ::boost::mpl::list< + unsigned short, unsigned int + ,unsigned long, unsigned long long + ,short, int, long, long long +#ifdef BOOST_ICL_TEST_XINT + ,boost::xint::integer +#endif +> integral_types; + +typedef int integral_type_1; +typedef unsigned int integral_type_2; +typedef short integral_type_3; +typedef unsigned int integral_type_4; + +typedef ::boost::mpl::list< + unsigned short, unsigned int + ,unsigned long, unsigned long long + ,short, int, long +#ifdef BOOST_ICL_TEST_XINT + ,boost::xint::integer +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<unsigned short> + ,Now::time_point +#endif + ,boost_posix_time_ptime + ,boost_posix_time_duration + ,boost_gregorian_date + ,boost_gregorian_date_duration + ,int* +> discrete_types; + + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<int> discrete_type_1; + typedef duration_int_11_113s discrete_type_2; + typedef Now::time_point discrete_type_3; + typedef duration_long2_113s discrete_type_4; + typedef Now_time_int_11_113s discrete_type_5; + typedef short discrete_type_6; + typedef int* discrete_type_7; + typedef boost_posix_time_duration discrete_type_8; +#else + typedef int discrete_type_1; + typedef boost_posix_time_ptime discrete_type_2; + typedef unsigned int discrete_type_3; + typedef short discrete_type_4; + typedef int* discrete_type_5; + typedef boost_posix_time_duration discrete_type_6; + typedef boost_gregorian_date discrete_type_7; + typedef boost_gregorian_date_duration discrete_type_8; +#endif //BOOST_ICL_TEST_CHRONO + +typedef ::boost::mpl::list< + short, int, long +> signed_discrete_types; + +#ifdef BOOST_ICL_TEST_CHRONO + typedef Now::time_point signed_discrete_type_1; + typedef duration_long2_113s signed_discrete_type_2; + typedef Now_time_int_11_113s signed_discrete_type_3; +#else + typedef int signed_discrete_type_1; + typedef short signed_discrete_type_2; + typedef long signed_discrete_type_3; +#endif //BOOST_ICL_TEST_CHRONO + +typedef ::boost::mpl::list< + float, double, long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::rational<boost::xint::integer> +#endif +//JODO +//test_interval_map_shared.hpp(1190) : error C2440: 'initializing' : cannot convert from 'long double' to 'boost::chrono::duration<Rep>' +//#ifdef BOOST_ICL_TEST_CHRONO +// ,boost::chrono::duration<long double> +//#endif +> numeric_continuous_types; + + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<double> numeric_continuous_type_1; + typedef Now_time_double numeric_continuous_type_2; + typedef Now_time_rational numeric_continuous_type_3; + typedef duration_rational_101_997s numeric_continuous_type_4; +#else + typedef double numeric_continuous_type_1; + typedef float numeric_continuous_type_2; + typedef boost::rational<int> numeric_continuous_type_3; + typedef long double numeric_continuous_type_4; +#endif //BOOST_ICL_TEST_CHRONO + + +typedef ::boost::mpl::list< + float, double, long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::rational<boost::xint::integer> +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<double> + ,boch::time_point<Now, boch::duration<double> > +#endif + ,std::string +> continuous_types; + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<double> continuous_type_1; + typedef Now_time_double continuous_type_2; + typedef Now_time_rational continuous_type_3; + typedef std::string continuous_type_4; +#else + typedef double continuous_type_1; + typedef float continuous_type_2; + typedef boost::rational<int> continuous_type_3; + typedef std::string continuous_type_4; +#endif //BOOST_ICL_TEST_CHRONO + +typedef ::boost::mpl::list< + unsigned short + ,unsigned long + ,unsigned long long + ,short + ,int + ,long + ,long long + ,float + ,double + ,long double + ,boost::rational<int> +#ifdef BOOST_ICL_TEST_XINT + ,boost::xint::integer +#endif +#ifdef BOOST_ICL_TEST_CHRONO + ,boch::duration<short> + ,boch::duration<long double> + ,Now::time_point +#endif + ,boost_posix_time_ptime + ,boost_posix_time_duration + ,boost_gregorian_date + ,boost_gregorian_date_duration + ,int* + ,std::string +> ordered_types; + +#ifdef BOOST_ICL_TEST_CHRONO + typedef boch::duration<int> ordered_type_1; + typedef boch::duration<double> ordered_type_2; + typedef Now::time_point ordered_type_3; + typedef Now_time_double ordered_type_4; + typedef Now_time_rational ordered_type_5; +#else + typedef int ordered_type_1; + typedef std::string ordered_type_2; + typedef boost_posix_time_ptime ordered_type_3; + typedef boost::rational<int> ordered_type_4; + typedef double ordered_type_5; +#endif //BOOST_ICL_TEST_CHRONO + +#endif + diff --git a/src/boost/libs/icl/test/test_type_traits_/test_type_traits.cpp b/src/boost/libs/icl/test/test_type_traits_/test_type_traits.cpp new file mode 100644 index 00000000..b24c6d22 --- /dev/null +++ b/src/boost/libs/icl/test/test_type_traits_/test_type_traits.cpp @@ -0,0 +1,133 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#define BOOST_TEST_MODULE icl::test_type_traits unit test + +#include <libs/icl/test/disable_test_warnings.hpp> +#include <limits> +#include <complex> +#include <string> +#include <vector> +#include <set> +#include <boost/mpl/list.hpp> +#include "../unit_test_unwarned.hpp" + + +// interval instance types +#include "../test_type_lists.hpp" +#include "../test_value_maker.hpp" + +#include <boost/type_traits/is_same.hpp> + +#include <boost/icl/rational.hpp> +#include <boost/icl/interval_map.hpp> +#include <boost/icl/map.hpp> +#include "../test_laws.hpp" + +using namespace std; +using namespace boost; +using namespace unit_test; +using namespace boost::icl; + +void digits_of_numeric_types() +{ + cout << "--- limits ---\n"; + cout << "max<char> = " << (std::numeric_limits<char>::max)() << endl; + cout << "max<char> = " << static_cast<int>((std::numeric_limits<char>::max)()) << endl; + cout << "-----------------------------------\n"; + cout << "digits<char> = " << std::numeric_limits<char>::digits << endl; + cout << "digits<short> = " << std::numeric_limits<short>::digits << endl; + cout << "digits<float> = " << std::numeric_limits<float>::digits << endl; + cout << "digits<double> = " << std::numeric_limits<double>::digits << endl; + cout << "digits<complex<double>> = " << std::numeric_limits<std::complex<double> >::digits << endl; + cout << "digits<string> = " << std::numeric_limits<std::string>::digits << endl; +} + +BOOST_AUTO_TEST_CASE(test_icl_infinity) +{ + BOOST_CHECK_EQUAL(icl::infinity<int>::value(), (std::numeric_limits<int>::max)()); + BOOST_CHECK(0 != icl::infinity<int>::value()); +} + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_is_continuous_type_T, T, continuous_types) +{ + BOOST_CHECK(is_continuous<T>::value); + BOOST_CHECK(!is_discrete<T>::value); +} + +BOOST_AUTO_TEST_CASE(test_is_continuous_type) +{ + BOOST_CHECK(is_continuous<std::vector<int> >::value); + BOOST_CHECK(!is_discrete<std::vector<int> >::value); +} + +BOOST_AUTO_TEST_CASE_TEMPLATE(test_is_discrete_type_T, T, discrete_types) +{ + BOOST_CHECK(is_discrete<T>::value); + BOOST_CHECK(!is_continuous<T>::value); +} + +BOOST_AUTO_TEST_CASE(test_is_discrete_type) +{ + BOOST_CHECK(is_discrete<boost::gregorian::date>::value); + BOOST_CHECK(!is_continuous<boost::gregorian::date>::value); +} + +BOOST_AUTO_TEST_CASE(test_is_key_container_of) +{ + BOOST_CHECK((!is_key_container_of<int, icl::map<int,int> >::value)); + BOOST_CHECK((!is_key_container_of<std::pair<int,int> , icl::map<int,int> >::value)); + BOOST_CHECK(( is_key_container_of<std::set<int>, std::set<int> >::value)); + BOOST_CHECK(( is_key_container_of<ICL_IMPL_SPACE::set<int>, icl::map<int,int> >::value)); + BOOST_CHECK(( is_key_container_of<icl::map<int,int>, icl::map<int,int> >::value)); +} + +BOOST_AUTO_TEST_CASE(test_is_set_4_std_set) +{ + BOOST_CHECK( (is_set<std::set<int> >::value) ); + BOOST_CHECK( (is_element_set<std::set<int> >::value) ); + BOOST_CHECK( (!is_map<std::set<int> >::value) ); + + BOOST_CHECK( (is_set<ICL_IMPL_SPACE::set<int> >::value) ); + BOOST_CHECK( (is_element_set<ICL_IMPL_SPACE::set<int> >::value) ); + BOOST_CHECK( (!is_map<ICL_IMPL_SPACE::set<int> >::value) ); +} + +BOOST_AUTO_TEST_CASE(test_miscellaneous_type_traits) +{ + typedef interval_set<int> IntervalSetT; + typedef icl::map<int,int> MapII; + + BOOST_CHECK(has_codomain_type<MapII>::value); + BOOST_CHECK((boost::is_same<MapII::codomain_type, int>::value)); + + BOOST_CHECK((is_map<MapII>::value)); + BOOST_CHECK((is_icl_container<MapII>::value)); + + BOOST_CHECK((is_fragment_of<IntervalSetT::element_type, IntervalSetT>::value)); + BOOST_CHECK((is_fragment_of<IntervalSetT::segment_type, IntervalSetT>::value)); + BOOST_CHECK((!is_fragment_of<double, IntervalSetT>::value)); + + BOOST_CHECK((boost::detail::is_incrementable<int>::value)); + BOOST_CHECK((boost::detail::is_incrementable<double>::value)); + BOOST_CHECK((!boost::detail::is_incrementable<std::string>::value)); + + BOOST_CHECK((boost::is_floating_point<long double>::value)); + BOOST_CHECK((boost::is_floating_point<double>::value)); + BOOST_CHECK((boost::is_floating_point<float>::value)); + + BOOST_CHECK( (boost::is_same<key_type_of<std::set<int> >::type, int>::value) ); + BOOST_CHECK( (boost::is_same<value_type_of<std::set<int> >::type, int>::value) ); + + BOOST_CHECK( is_std_set<std::set<int> >::value); + BOOST_CHECK( !is_std_set<interval_set<int> >::value); + BOOST_CHECK((!is_std_set<std::map<int,int> >::value)); + BOOST_CHECK( is_element_set<std::set<int> >::value); + BOOST_CHECK( !is_interval_set<std::set<int> >::value); + BOOST_CHECK( !is_interval_set<std::set<int> >::value); +} + diff --git a/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj b/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj new file mode 100644 index 00000000..e81ac686 --- /dev/null +++ b/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}</ProjectGuid> + <RootNamespace>Test_type_traits</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/debug/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../../bin/obj/$(ProjectName)/debug/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/release/\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../../bin/obj/$(ProjectName)/release/\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/debug/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>../../../../bin/release/$(ProjectName).exe</OutputFile> + <AdditionalLibraryDirectories>../../../../lib; ../../../../stage/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="test_type_traits.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp" /> + <ClInclude Include="..\test_type_lists.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj.filters b/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj.filters new file mode 100644 index 00000000..40aa52f0 --- /dev/null +++ b/src/boost/libs/icl/test/test_type_traits_/vc10_test_type_traits.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="test_type_traits.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\test_interval_map_shared.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\test_type_lists.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/boost/libs/icl/test/test_type_traits_/vc9_test_type_traits.vcproj b/src/boost/libs/icl/test/test_type_traits_/vc9_test_type_traits.vcproj new file mode 100644 index 00000000..8783d8c3 --- /dev/null +++ b/src/boost/libs/icl/test/test_type_traits_/vc9_test_type_traits.vcproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="vc9_test_type_traits" + ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}" + RootNamespace="Test_type_traits" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../../../bin/debug/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/debug/$(ProjectName).exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../../bin/release/" + IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../../" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="../../../../bin/release/$(ProjectName).exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\test_type_traits.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\test_interval_map_shared.hpp" + > + </File> + <File + RelativePath="..\test_type_lists.hpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/boost/libs/icl/test/test_value_maker.hpp b/src/boost/libs/icl/test/test_value_maker.hpp new file mode 100644 index 00000000..368b7ece --- /dev/null +++ b/src/boost/libs/icl/test/test_value_maker.hpp @@ -0,0 +1,199 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_VALUE_MAKER_HPP_JOFA_080916 +#define BOOST_ICL_TEST_VALUE_MAKER_HPP_JOFA_080916 + +#include <boost/icl/type_traits/identity_element.hpp> +#include <boost/icl/interval_bounds.hpp> + +namespace boost{ namespace icl +{ + +struct mono +{ + mono(){}; + mono& operator ++ (){ return *this; } + mono& operator -- (){ return *this; } + mono& operator += (const mono&){ return *this; } +}; + +bool operator == (const mono&, const mono&){ return true; } +bool operator < (const mono&, const mono&){ return false; } + +template<class CharType, class CharTraits> +std::basic_ostream<CharType, CharTraits>& +operator << (std::basic_ostream<CharType, CharTraits>& stream, const mono& object) +{ + return stream << "*"; +} + + + +template <class BicrementableT> +BicrementableT make(int n) +{ + BicrementableT value = identity_element<BicrementableT>::value(); + if(n>=0) + for(int i=0; i<n; i++) + ++value; + else + for(int i=0; i>n; i--) + --value; + + return value; +} + + +template <class Type> +struct test_value; + +template<> +struct test_value<std::string> +{ + static std::string make(int n) + { + std::string value = identity_element<std::string>::value(); + int abs_n = n<0 ? -n : n; + for(int i=1; i<abs_n; i++) + value += (i%2==1 ? "hello " : "world "); + + return value; + } +}; + + +template <class Type> +struct test_value<Type*> +{ + + static bool map_integers(Type values[], int size) + { + static const int offset = size/2; + for(int idx = 0; idx < size; idx++) + values[idx] = test_value<Type>::make(idx - offset); + + return true; + } + + static Type* make(int n) + { + static bool initialized; + static const int size = 100; + static const int offset = size/2; + static Type values[size]; + + if(!initialized) + initialized = map_integers(values, size); + + Type* value = values + offset; + if(n>=0) + for(int i=0; i<n; i++) + ++value; + else + for(int i=0; i>n; i--) + --value; + + return value; + } +}; + + + +template <class Type> +struct test_value +{ + static Type make(int n) + { + Type value = identity_element<Type>::value(); + if(n>=0) + for(int i=0; i<n; i++) + ++value; + else + for(int i=0; i>n; i--) + --value; + + return value; + } +}; + + +template <class ItvMapT> +struct map_val +{ + typedef typename ItvMapT::domain_type domain_type; + typedef typename ItvMapT::codomain_type codomain_type; + typedef typename ItvMapT::interval_type interval_type; + typedef typename ItvMapT::value_type value_type; + typedef typename ItvMapT::segment_type segment_type; + typedef typename ItvMapT::domain_mapping_type domain_mapping_type; + typedef std::pair<domain_type, codomain_type> std_pair_type; + + static segment_type mk_segment(const interval_type& inter_val, int val) + { + return segment_type(inter_val, test_value<codomain_type>::make(val)); + } + + /*CL? + static interval_type interval_(int lower, int upper, int bounds = 2) + { + return segment_type(inter_val, test_value<codomain_type>::make(val)); + } + + static segment_type val_pair(int lower, int upper, int val, int bounds = 2) + { + return segment_type( interval_(lower, upper, static_cast<bound_type>(bounds)), + test_value<codomain_type>::make(val) ); + } + */ + + static domain_mapping_type map_pair(int key, int val) + { + return domain_mapping_type(test_value< domain_type>::make(key), + test_value<codomain_type>::make(val)); + } + + static std_pair_type std_pair(int key, int val) + { + return std_pair_type(test_value< domain_type>::make(key), + test_value<codomain_type>::make(val)); + } +}; + + +// Very short value denotation for intervals +// Assumption typename T and IntervalT exists in scope +//I_I : [a,b] +#define I_I(low,up) icl::interval<T>::closed (test_value<T>::make(low), test_value<T>::make(up)) +//I_D : [a,b) +#define I_D(low,up) icl::interval<T>::right_open(test_value<T>::make(low), test_value<T>::make(up)) +//C_I : (a,b] +#define C_I(low,up) icl::interval<T>::left_open (test_value<T>::make(low), test_value<T>::make(up)) +//C_D : (a,b) +#define C_D(low,up) icl::interval<T>::open (test_value<T>::make(low), test_value<T>::make(up)) + +#define MK_I(ItvT,low,up) ItvT(test_value<T>::make(low), test_value<T>::make(up)) + +#define MK_v(key) test_value<T>::make(key) +#define MK_u(key) test_value<U>::make(key) + +// Very short value denotation for interval value pairs +// Assumption typename IntervalMapT existes in scope +#define IIv(low,up,val) map_val<IntervalMapT>::mk_segment(I_I(low,up), val) +#define IDv(low,up,val) map_val<IntervalMapT>::mk_segment(I_D(low,up), val) +#define CIv(low,up,val) map_val<IntervalMapT>::mk_segment(C_I(low,up), val) +#define CDv(low,up,val) map_val<IntervalMapT>::mk_segment(C_D(low,up), val) +#define K_v(key,val) map_val<IntervalMapT>::map_pair(key,val) +#define sK_v(key,val) map_val<IntervalMapT>::std_pair(key,val) + +#define MK_seg(itv,val) map_val<IntervalMapT>::mk_segment(itv, val) + + +}} // namespace boost icl + +#endif + diff --git a/src/boost/libs/icl/test/unit_test_unwarned.hpp b/src/boost/libs/icl/test/unit_test_unwarned.hpp new file mode 100644 index 00000000..335d800f --- /dev/null +++ b/src/boost/libs/icl/test/unit_test_unwarned.hpp @@ -0,0 +1,28 @@ +/*-----------------------------------------------------------------------------+ +Copyright (c) 2008-2009: Joachim Faulhaber ++------------------------------------------------------------------------------+ + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENCE.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) ++-----------------------------------------------------------------------------*/ +#ifndef BOOST_ICL_TEST_UNIT_TEST_UNWARNED_HPP_JOFA_091204 +#define BOOST_ICL_TEST_UNIT_TEST_UNWARNED_HPP_JOFA_091204 + +#include <boost/icl/detail/boost_config.hpp> +#include <boost/detail/workaround.hpp> + +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4389) // boost/test/test_tools.hpp(509) : warning C4389: '==' : signed/unsigned mismatch +#pragma warning(disable:4996) // 'std::_Traits_helper::copy_s': Function call with parameters that may be unsafe +#endif + +#include <boost/test/unit_test.hpp> + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + + +#endif // BOOST_ICL_TEST_UNIT_TEST_UNWARNED_HPP_JOFA_091204 + diff --git a/src/boost/libs/icl/test/vc10_icl_fast_tests.sln b/src/boost/libs/icl/test/vc10_icl_fast_tests.sln new file mode 100644 index 00000000..6e1cd932 --- /dev/null +++ b/src/boost/libs/icl/test/vc10_icl_fast_tests.sln @@ -0,0 +1,218 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_doc_code", "test_doc_code_\vc10_test_doc_code.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_map", "fastest_interval_map_\vc10_fastest_interval_map.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_icl_map", "fastest_icl_map_\vc10_fastest_icl_map.vcxproj", "{DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_cmp_clang_ttp_passing2", "cmp_clang_ttp_passing2_\vc10_cmp_clang_ttp_passing2.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_cmp_clang_ttp_passing", "cmp_clang_ttp_passing_\vc10_cmp_clang_ttp_passing.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fast_stat_interval_map", "fast_stat_interval_map_\vc10_fast_stat_interval_map.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_icl_interval", "fastest_icl_interval_\vc10_fastest_icl_interval.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_map_infix", "fastest_interval_map_infix_\vc10_fastest_interval_map_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-F47E9765C011}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_map_infix_mixed", "fastest_interval_map_infix_mixed_\vc10_fastest_interval_map_infix_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_map_mixed2", "fastest_interval_map_mixed2_\vc10_fastest_interval_map_mixed2.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_map_mixed", "fastest_interval_map_mixed_\vc10_fastest_interval_map_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_set", "fastest_interval_set_\vc10_fastest_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_set_infix", "fastest_interval_set_infix_\vc10_fastest_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D1623E906E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_interval_set_mixed", "fastest_interval_set_mixed_\vc10_fastest_interval_set_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_partial_icl_quantifier", "fastest_partial_icl_quantifier_\vc10_fastest_partial_icl_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_partial_interval_quantifier", "fastest_partial_interval_quantifier_\vc10_fastest_partial_interval_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_separate_interval_set", "fastest_separate_interval_set_\vc10_fastest_separate_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_separate_interval_set_infix", "fastest_separate_interval_set_infix_\vc10_fastest_separate_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D2623E911E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_set_icl_set", "fastest_set_icl_set_\vc10_fastest_set_icl_set.vcxproj", "{DD9C9854-3882-42B9-BFA2-A8885151D13F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_set_interval_set", "fastest_set_interval_set_\vc10_fastest_set_interval_set.vcxproj", "{DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_split_interval_map", "fastest_split_interval_map_\vc10_fastest_split_interval_map.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_split_interval_map_infix", "fastest_split_interval_map_infix_\vc10_fastest_split_interval_map_infix.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_split_interval_set", "fastest_split_interval_set_\vc10_fastest_split_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_split_interval_set_infix", "fastest_split_interval_set_infix_\vc10_fastest_split_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D3623E916E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_total_icl_quantifier", "fastest_total_icl_quantifier_\vc10_fastest_total_icl_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fastest_total_interval_quantifier", "fastest_total_interval_quantifier_\vc10_fastest_total_interval_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fix_tickets", "fix_tickets_\vc10_fix_tickets.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_fix_icl_after_thread", "fix_icl_after_thread_\vc10_fix_icl_after_thread.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_changing_interval_defaults", "test_changing_interval_defaults_\vc10_test_changing_interval_defalts.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_combinable", "test_combinable_\vc10_test_combinable.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_misc", "test_misc_\vc10_test_misc.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_type_traits", "test_type_traits_\vc10_test_type_traits.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_casual", "test_casual_\vc10_test_casual.vcxproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_ex_boost_party", "ex_boost_party_\vc10_ex_boost_party.vcxproj", "{EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A900D}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE309B}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA3}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D7A9FA2}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A900D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A908C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-F47E9765C011}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-F47E9765C011}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-F47E9765C011}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-F47E9765C011}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A902F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B903F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A904F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A905C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E906E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E906E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E906E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E906E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A907E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D3A909F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A909F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A910C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E911E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E911E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E911E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E911E}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-A8885151D13F}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-A8885151D13F}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-A8885151D13F}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-A8885151D13F}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3129}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A913E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A914D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A915C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E916E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E916E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E916E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E916E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D4A917F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A917F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA1}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D9A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D8A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D4A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D6A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-EC01-FD5B8D5A9FA0}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/boost/libs/icl/test/vc10_icl_slow_tests.sln b/src/boost/libs/icl/test/vc10_icl_slow_tests.sln new file mode 100644 index 00000000..833b5031 --- /dev/null +++ b/src/boost/libs/icl/test/vc10_icl_slow_tests.sln @@ -0,0 +1,158 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_casual", "test_casual_\vc10_test_casual.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_combinable", "test_combinable_\vc10_test_combinable.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_icl_interval", "test_icl_interval_\vc10_test_icl_interval.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_icl_map", "test_icl_map_\vc10_test_icl_map.vcxproj", "{DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_map", "test_interval_map_\vc10_test_interval_map.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_map_infix", "test_interval_map_infix_\vc10_test_interval_map_infix.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_map_infix_mixed", "test_interval_map_infix_mixed_\vc10_test_interval_map_infix_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_map_mixed", "test_interval_map_mixed_\vc10_test_interval_map_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_map_mixed2", "test_interval_map_mixed2_\vc10_test_interval_map_mixed2.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_set", "test_interval_set_\vc10_test_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_set_infix", "test_interval_set_infix_\vc10_test_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D1623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_interval_set_mixed", "test_interval_set_mixed_\vc10_test_interval_set_mixed.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_partial_icl_quantifier", "test_partial_icl_quantifier_\vc10_test_partial_icl_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_partial_interval_quantifier", "test_partial_interval_quantifier_\vc10_test_partial_interval_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_separate_interval_set", "test_separate_interval_set_\vc10_test_separate_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_separate_interval_set_infix", "test_separate_interval_set_infix_\vc10_test_separate_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D2623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_set_icl_set", "test_set_icl_set_\vc10_test_set_icl_set.vcxproj", "{DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_set_interval_set", "test_set_interval_set_\vc10_test_set_interval_set.vcxproj", "{DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_split_interval_map", "test_split_interval_map_\vc10_test_split_interval_map.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_split_interval_map_infix", "test_split_interval_map_infix_\vc10_test_split_interval_map_infix.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_split_interval_set", "test_split_interval_set_\vc10_test_split_interval_set.vcxproj", "{EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_split_interval_set_infix", "test_split_interval_set_infix_\vc10_test_split_interval_set_infix.vcxproj", "{DD9C9854-3882-42B9-BFA2-35D3623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_total_icl_quantifier", "test_total_icl_quantifier_\vc10_test_total_icl_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc10_test_total_interval_quantifier", "test_total_interval_quantifier_\vc10_test_total_interval_quantifier.vcxproj", "{EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F8C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352B}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3B9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D1623E950E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B8D3A9F9E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5A-FD5B7D2A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D3A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D2623E950E}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE352A}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-C6CEBFCE3529}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D2A9F9E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B59-FD5B7D4A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA2-35D3623E950E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B5B-FD5B7D2A9F9F}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/boost/libs/icl/test/vc9_icl_fast_tests.sln b/src/boost/libs/icl/test/vc9_icl_fast_tests.sln new file mode 100644 index 00000000..6f958bb2 --- /dev/null +++ b/src/boost/libs/icl/test/vc9_icl_fast_tests.sln @@ -0,0 +1,200 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_map", "fastest_interval_map_\vc9_fastest_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_map_infix", "fastest_interval_map_infix_\vc9_fastest_interval_map_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-F47E9765C011}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_map_infix_mixed", "fastest_interval_map_infix_mixed_\vc9_fastest_interval_map_infix_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_map_mixed2", "fastest_interval_map_mixed2_\vc9_fastest_interval_map_mixed2.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_set", "fastest_interval_set_\vc9_fastest_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_total_interval_quantifier", "fastest_total_interval_quantifier_\vc9_fastest_total_interval_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_icl_interval", "fastest_icl_interval_\vc9_fastest_icl_interval.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_set_infix", "fastest_interval_set_infix_\vc9_fastest_interval_set_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-35D1623E906E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_set_mixed", "fastest_interval_set_mixed_\vc9_fastest_interval_set_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_icl_map", "fastest_icl_map_\vc9_fastest_icl_map.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_partial_interval_quantifier", "fastest_partial_interval_quantifier_\vc9_fastest_partial_interval_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_separate_interval_set", "fastest_separate_interval_set_\vc9_fastest_separate_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_casual", "test_casual_\vc9_test_casual.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_separate_interval_set_infix", "fastest_separate_interval_set_infix_\vc9_fastest_separate_interval_set_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-35D2623E911E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_set_interval_set", "fastest_set_interval_set_\vc9_fastest_set_interval_set.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_set_icl_set", "fastest_set_icl_set_\vc9_fastest_set_icl_set.vcproj", "{DD9C9854-3882-42B9-BFA1-A8885151D13F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_split_interval_map", "fastest_split_interval_map_\vc9_fastest_split_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_split_interval_set", "fastest_split_interval_set_\vc9_fastest_split_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_partial_icl_quantifier", "fastest_partial_icl_quantifier_\vc9_fastest_partial_icl_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_total_icl_quantifier", "fastest_total_icl_quantifier_\vc9_fastest_total_icl_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_map_mixed", "fastest_interval_map_mixed_\vc9_fastest_interval_map_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_combinable", "test_combinable_\vc9_test_combinable.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_misc", "test_misc_\vc9_test_misc.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_doc_code", "test_doc_code_\vc9_test_doc_code.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_type_traits", "test_type_traits_\vc9_test_type_traits.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_changing_interval_defaults", "test_changing_interval_defaults_\vc9_test_changing_interval_defalts.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fix_icl_after_thread", "fix_icl_after_thread_\vc9_fix_icl_after_thread.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_cmp_clang_ttp_passing", "cmp_clang_ttp_passing_\vc9_cmp_clang_ttp_passing.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_cmp_clang_ttp_passing2", "cmp_clang_ttp_passing2_\vc9_cmp_clang_ttp_passing2.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fast_stat_interval_map", "fast_stat_interval_map_\vc9_fast_stat_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fix_tickets", "fix_tickets_\vc9_fix_tickets.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-F47E9765C011}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-F47E9765C011}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-F47E9765C011}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-F47E9765C011}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E906E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E906E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E906E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E906E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E911E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E911E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E911E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E911E}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-A8885151D13F}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-A8885151D13F}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-A8885151D13F}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-A8885151D13F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/boost/libs/icl/test/vc9_icl_slow_tests.sln b/src/boost/libs/icl/test/vc9_icl_slow_tests.sln new file mode 100644 index 00000000..3feadedf --- /dev/null +++ b/src/boost/libs/icl/test/vc9_icl_slow_tests.sln @@ -0,0 +1,158 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_combinable", "test_combinable_\vc9_test_combinable.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_map", "test_interval_map_\vc9_test_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_map_infix", "test_interval_map_infix_\vc9_test_interval_map_infix.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_map_infix_mixed", "test_interval_map_infix_mixed_\vc9_test_interval_map_infix_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_map_mixed2", "test_interval_map_mixed2_\vc9_test_interval_map_mixed2.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_map_mixed", "test_interval_map_mixed_\vc9_test_interval_map_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_set", "test_interval_set_\vc9_test_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_set_infix", "test_interval_set_infix_\vc9_test_interval_set_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-35D1623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_interval_set_mixed", "test_interval_set_mixed_\vc9_test_interval_set_mixed.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_icl_interval", "test_icl_interval_\vc9_test_icl_interval.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_icl_map", "test_icl_map_\vc9_test_icl_map.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_partial_interval_quantifier", "test_partial_interval_quantifier_\vc9_test_partial_interval_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_separate_interval_set", "test_separate_interval_set_\vc9_test_separate_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_separate_interval_set_infix", "test_separate_interval_set_infix_\vc9_test_separate_interval_set_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-35D2623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_set_interval_set", "test_set_interval_set_\vc9_test_set_interval_set.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_set_icl_set", "test_set_icl_set_\vc9_test_set_icl_set.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_split_interval_map", "test_split_interval_map_\vc9_test_split_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_split_interval_map_infix", "test_split_interval_map_infix_\vc9_test_split_interval_map_infix.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_split_interval_set", "test_split_interval_set_\vc9_test_split_interval_set.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_split_interval_set_infix", "test_split_interval_set_infix_\vc9_test_split_interval_set_infix.vcproj", "{DD9C9854-3882-42B9-BFA1-35D3623E950E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_total_interval_quantifier", "test_total_interval_quantifier_\vc9_test_total_interval_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_partial_icl_quantifier", "test_partial_icl_quantifier_\vc9_test_partial_icl_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_total_icl_quantifier", "test_total_icl_quantifier_\vc9_test_total_icl_quantifier.vcproj", "{EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_casual", "test_casual_\vc9_test_casual.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3B9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D1623E950E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9F9E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F8C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D2A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D3A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D2623E950E}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE3529}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D2A9F9E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9D}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B7D4A9F9C}.Release|Win32.Build.0 = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D3623E950E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D3623E950E}.Debug|Win32.Build.0 = Debug|Win32 + {DD9C9854-3882-42B9-BFA1-35D3623E950E}.Release|Win32.ActiveCfg = Release|Win32 + {DD9C9854-3882-42B9-BFA1-35D3623E950E}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D2A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4A-FD5B7D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B4B-FD5B7D5A9F9F}.Release|Win32.Build.0 = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32 + {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal |