diff --git a/build/vc100/.gitignore b/build/vc100/.gitignore
index b6f8d86..dd990f3 100644
--- a/build/vc100/.gitignore
+++ b/build/vc100/.gitignore
@@ -1,4 +1,7 @@
-/*.opensdf
-/*.sdf
-/*.suo
-*.ipch
\ No newline at end of file
+.vs
+*.db
+*.ipch
+*.opendb
+*.opensdf
+*.sdf
+*.suo
diff --git a/build/vc100/turtle_test.vcxproj b/build/vc100/turtle_test.vcxproj
index 9de3d6d..9f1272f 100644
--- a/build/vc100/turtle_test.vcxproj
+++ b/build/vc100/turtle_test.vcxproj
@@ -134,8 +134,7 @@
Console
- cd ../../run/vc100
-"$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning --data_directory=../../data/tests/$(ProjectName)
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
@@ -167,8 +166,7 @@
Console
- "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning --data_directory=../../data/tests/$(ProjectName)
-
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
@@ -199,8 +197,7 @@
Console
- cd ../../run/vc100
-"$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning --data_directory=../../data/tests/$(ProjectName)
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
@@ -232,8 +229,7 @@
Console
- "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning --data_directory=../../data/tests/$(ProjectName)
-
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
diff --git a/build/vc140/.gitignore b/build/vc140/.gitignore
new file mode 100644
index 0000000..dd990f3
--- /dev/null
+++ b/build/vc140/.gitignore
@@ -0,0 +1,7 @@
+.vs
+*.db
+*.ipch
+*.opendb
+*.opensdf
+*.sdf
+*.suo
diff --git a/build/vc140/turtle.sln b/build/vc140/turtle.sln
new file mode 100644
index 0000000..873405c
--- /dev/null
+++ b/build/vc140/turtle.sln
@@ -0,0 +1,35 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "turtle", "turtle.vcxproj", "{831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "turtle_test", "turtle_test.vcxproj", "{74810A2A-33D8-47D6-9A50-71261F1683F5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|Win32 = debug|Win32
+ debug|x64 = debug|x64
+ release|Win32 = release|Win32
+ release|x64 = release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.debug|Win32.ActiveCfg = debug|Win32
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.debug|Win32.Build.0 = debug|Win32
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.debug|x64.ActiveCfg = debug|x64
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.debug|x64.Build.0 = debug|x64
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.release|Win32.ActiveCfg = release|Win32
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.release|Win32.Build.0 = release|Win32
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.release|x64.ActiveCfg = release|x64
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}.release|x64.Build.0 = release|x64
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.debug|Win32.ActiveCfg = debug|Win32
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.debug|Win32.Build.0 = debug|Win32
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.debug|x64.ActiveCfg = debug|x64
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.debug|x64.Build.0 = debug|x64
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.release|Win32.ActiveCfg = release|Win32
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.release|Win32.Build.0 = release|Win32
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.release|x64.ActiveCfg = release|x64
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}.release|x64.Build.0 = release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/build/vc140/turtle.vcxproj b/build/vc140/turtle.vcxproj
new file mode 100644
index 0000000..fc32e63
--- /dev/null
+++ b/build/vc140/turtle.vcxproj
@@ -0,0 +1,196 @@
+
+
+
+
+ debug
+ Win32
+
+
+ debug
+ x64
+
+
+ release
+ Win32
+
+
+ release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {831F2DEE-1E35-4533-A3B2-12C01BA8DA1D}
+
+
+
+ StaticLibrary
+
+
+ StaticLibrary
+
+
+ StaticLibrary
+
+
+ StaticLibrary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ../../out/vc140/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/libraries/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/libraries/$(ProjectName)\
+
+
+ C:\dev\home\boost;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;
+
+
+ C:\dev\home\boost;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;
+
+
+ C:\dev\home\boost;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;
+
+
+ C:\dev\home\boost;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;
+
+
+
+ /Zm179 %(AdditionalOptions)
+ Disabled
+ $(IntDir); ../../include; ../../src/libraries; ../../src/libraries/$(ProjectName);%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Use
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ ProgramDatabase
+
+
+ $(OutDir)$(ProjectName)d.lib
+ $(OutDir) ; ../../lib/vc140;%(AdditionalLibraryDirectories)
+
+
+
+
+ /Zm179 %(AdditionalOptions)
+ Disabled
+ $(IntDir); ../../include; ../../src/libraries; ../../src/libraries/$(ProjectName);%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Use
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ ProgramDatabase
+
+
+ $(OutDir)$(ProjectName)d.lib
+ $(OutDir) ; ../../lib/vc140_x64;%(AdditionalLibraryDirectories)
+
+
+
+
+ /Zm176 %(AdditionalOptions)
+ $(IntDir); ../../include; ../../src/libraries; ../../src/libraries/$(ProjectName);%(AdditionalIncludeDirectories)
+ WIN32; NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Use
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ ProgramDatabase
+
+
+ $(OutDir)$(ProjectName).lib
+ $(OutDir) ; ../../lib/vc140;%(AdditionalLibraryDirectories)
+
+
+
+
+ /Zm176 %(AdditionalOptions)
+ $(IntDir); ../../include; ../../src/libraries; ../../src/libraries/$(ProjectName);%(AdditionalIncludeDirectories)
+ WIN32; NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Use
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ ProgramDatabase
+
+
+ $(OutDir)$(ProjectName).lib
+ $(OutDir) ; ../../lib/vc140_x64;%(AdditionalLibraryDirectories)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle.vcxproj.filters b/build/vc140/turtle.vcxproj.filters
new file mode 100644
index 0000000..ff0b69a
--- /dev/null
+++ b/build/vc140/turtle.vcxproj.filters
@@ -0,0 +1,131 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {b9cb2ff2-1351-456d-985e-cb0dd3f4e12d}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle.vcxproj.user b/build/vc140/turtle.vcxproj.user
new file mode 100644
index 0000000..ace9a86
--- /dev/null
+++ b/build/vc140/turtle.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_bench.vcxproj b/build/vc140/turtle_bench.vcxproj
new file mode 100644
index 0000000..af19166
--- /dev/null
+++ b/build/vc140/turtle_bench.vcxproj
@@ -0,0 +1,192 @@
+
+
+
+
+ debug
+ Win32
+
+
+ debug
+ x64
+
+
+ release
+ Win32
+
+
+ release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {2D607783-30B9-46DE-81E2-28513B31D5D2}
+
+
+
+ Application
+
+
+ Application
+
+
+ Application
+
+
+ Application
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ../../out/applications/$(ProjectName)/vc140/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140_x64/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140_x64/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140_x64/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140/$(Configuration)\
+ ../../out/applications/$(ProjectName)/vc140_x64/$(Configuration)\
+ $(ProjectName)
+ $(ProjectName)
+ $(ProjectName)
+ $(ProjectName)
+
+
+
+ Disabled
+ ../..; ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ $(OutDir);%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+ Disabled
+ ../..; ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ $(OutDir);%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ ../..; ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ Default
+ MultiThreadedDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ $(OutDir);%(AdditionalLibraryDirectories)
+ true
+ Console
+ false
+
+
+
+
+ MaxSpeed
+ ../..; ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ Default
+ MultiThreadedDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ $(OutDir);%(AdditionalLibraryDirectories)
+ true
+ Console
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_bench.vcxproj.filters b/build/vc140/turtle_bench.vcxproj.filters
new file mode 100644
index 0000000..0d3e15d
--- /dev/null
+++ b/build/vc140/turtle_bench.vcxproj.filters
@@ -0,0 +1,38 @@
+
+
+
+
+ {0ddf67a0-6350-4b1a-ad9f-0648d3985709}
+ cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx;h;hpp;hxx;hm;inl;inc;xsd
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_bench.vcxproj.user b/build/vc140/turtle_bench.vcxproj.user
new file mode 100644
index 0000000..ace9a86
--- /dev/null
+++ b/build/vc140/turtle_bench.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_test.vcxproj b/build/vc140/turtle_test.vcxproj
new file mode 100644
index 0000000..6a07ae1
--- /dev/null
+++ b/build/vc140/turtle_test.vcxproj
@@ -0,0 +1,241 @@
+
+
+
+
+ debug
+ Win32
+
+
+ debug
+ x64
+
+
+ release
+ Win32
+
+
+ release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BOOST_AUTO_TEST_MAIN;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ BOOST_AUTO_TEST_MAIN;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
+
+
+ {74810A2A-33D8-47D6-9A50-71261F1683F5}
+ turtle_test
+ 8.1
+
+
+
+ Application
+ v140
+
+
+ Application
+ v140
+
+
+ Application
+ v140
+
+
+ Application
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ../../out/vc140/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140/$(Configuration)/tests/$(ProjectName)\
+ ../../out/vc140_x64/$(Configuration)/tests/$(ProjectName)\
+
+
+ C:\dev\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(UniversalCRT_IncludePath);
+ C:\dev\lib\vc140;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib
+
+
+ C:\dev\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(UniversalCRT_IncludePath);
+ C:\dev\lib\vc140;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib
+
+
+ C:\dev\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath);
+ C:\dev\lib\vc140_x64;$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;$(LibraryPath);
+
+
+ C:\dev\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath);
+ C:\dev\lib\vc140_x64;$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;$(LibraryPath);
+
+
+
+ /Zm172 %(AdditionalOptions)
+ Disabled
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ ../../lib/vc140;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
+
+
+
+
+ /Zm172 %(AdditionalOptions)
+ Disabled
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ ../../lib/vc140;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
+
+
+
+
+ /Zm162 %(AdditionalOptions)
+ MaxSpeed
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ Default
+ MultiThreadedDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ ../../lib/vc140;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
+
+
+
+
+ /Zm162 %(AdditionalOptions)
+ MaxSpeed
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ Default
+ MultiThreadedDLL
+ true
+
+
+ $(ProjectName)_pch.h
+ $(IntDir)$(ProjectName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(ProjectName).pdb
+ Level4
+ true
+ ProgramDatabase
+
+
+ %(AdditionalDependencies)
+ $(OutDir)$(ProjectName).exe
+ ../../lib/vc140;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+ "$(TargetDir)$(TargetName).exe" --result_code=no --report_level=no --log_level=warning
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_test.vcxproj.filters b/build/vc140/turtle_test.vcxproj.filters
new file mode 100644
index 0000000..a37b36a
--- /dev/null
+++ b/build/vc140/turtle_test.vcxproj.filters
@@ -0,0 +1,79 @@
+
+
+
+
+ {7b7d91a4-7b1e-441a-ac3f-2f93e73ae2ac}
+ cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx;h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {214599f8-6837-4d60-96ae-b913798819ae}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files\detail
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/build/vc140/turtle_test.vcxproj.user b/build/vc140/turtle_test.vcxproj.user
new file mode 100644
index 0000000..ace9a86
--- /dev/null
+++ b/build/vc140/turtle_test.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/doc/changelog.qbk b/doc/changelog.qbk
index 91b9caf..39888cc 100644
--- a/doc/changelog.qbk
+++ b/doc/changelog.qbk
@@ -10,6 +10,9 @@
[section unreleased]
Not yet released
+* Fixed MOCK_FUNCTOR compilation with VS2015
+* Removed round parenthesis in signature support for compilers without variadic macros
+
[endsect]
[section 1.2.8]
diff --git a/doc/reference.qbk b/doc/reference.qbk
index b4797ef..c872cc2 100644
--- a/doc/reference.qbk
+++ b/doc/reference.qbk
@@ -101,8 +101,6 @@ Synopsis :
[note The signature cannot be omitted for the _TPL familly of macros, see the related [link turtle.limitations.template_base_class_methods_cannot_be_mocked_without_specifying_the_signature limitation section].]
-[note The signature must be surrounded with round parenthesis if the return type contains a comma.]
-
[note [link turtle.reference.creation.constructor Constructors], [link turtle.reference.creation.destructor destructors] and [link turtle.reference.creation.conversion_operator conversion operators] require special care.]
[note In case of a calling convention specified, all four parameters must be provided.]
diff --git a/include/turtle/mock.hpp b/include/turtle/mock.hpp
index a560800..78fb185 100644
--- a/include/turtle/mock.hpp
+++ b/include/turtle/mock.hpp
@@ -28,7 +28,7 @@
struct T : mock::object
#define MOCK_FUNCTION_TYPE(S, tpn) \
- tpn boost::remove_pointer< tpn BOOST_IDENTITY_TYPE((S)) >::type
+ tpn boost::remove_pointer< tpn BOOST_IDENTITY_TYPE(S) >::type
#ifdef MOCK_VARIADIC_MACROS
@@ -47,10 +47,10 @@
struct T : B, mock::object, mock::detail::base< B >
#define MOCK_FUNCTOR(f, S) \
- mock::detail::functor< MOCK_FUNCTION_TYPE(S,) > f, f##_mock
+ mock::detail::functor< MOCK_FUNCTION_TYPE((S),) > f, f##_mock
#define MOCK_FUNCTOR_TPL(f, S) \
mock::detail::functor< \
- MOCK_FUNCTION_TYPE(S, typename) > f, f##_mock
+ MOCK_FUNCTION_TYPE((S), typename) > f, f##_mock
#endif // MOCK_VARIADIC_MACROS
@@ -60,8 +60,8 @@
t##_mock( mock::detail::root, "?." )
#define MOCK_METHOD_HELPER(S, t, tpn) \
- mutable mock::detail::function< MOCK_FUNCTION_TYPE(S, tpn) > t##_mock_; \
- mock::detail::function< MOCK_FUNCTION_TYPE(S, tpn) >& t##_mock( \
+ mutable mock::detail::function< MOCK_FUNCTION_TYPE((S), tpn) > t##_mock_; \
+ mock::detail::function< MOCK_FUNCTION_TYPE((S), tpn) >& t##_mock( \
const mock::detail::context&, \
boost::unit_test::const_string instance ) const \
{ \
@@ -76,10 +76,10 @@
BOOST_PP_COMMA_IF(n) d, n >::type p##n
#define MOCK_PARAMS(n, S, tpn) \
BOOST_PP_REPEAT(n, MOCK_PARAM, \
- tpn mock::detail::parameter< MOCK_FUNCTION_TYPE(S, tpn))
+ tpn mock::detail::parameter< MOCK_FUNCTION_TYPE((S), tpn))
#define MOCK_DECL(M, n, S, c, tpn) \
tpn boost::function_types::result_type< \
- MOCK_FUNCTION_TYPE(S, tpn) >::type M( \
+ MOCK_FUNCTION_TYPE((S), tpn) >::type M( \
MOCK_PARAMS(n, S, tpn) ) c
#define MOCK_METHOD_AUX(M, n, S, t, c, tpn) \
@@ -87,7 +87,7 @@
{ \
BOOST_MPL_ASSERT_RELATION( n, ==, \
boost::function_types::function_arity< \
- MOCK_FUNCTION_TYPE(S, tpn) >::value ); \
+ MOCK_FUNCTION_TYPE((S), tpn) >::value ); \
return MOCK_ANONYMOUS_HELPER(t)( \
BOOST_PP_ENUM_PARAMS(n, p) ); \
}
@@ -137,11 +137,11 @@
MOCK_METHOD_HELPER(T(), t, typename)
#define MOCK_FUNCTION_HELPER(S, t, s, tpn) \
- s mock::detail::function< MOCK_FUNCTION_TYPE(S, tpn) >& t##_mock( \
+ s mock::detail::function< MOCK_FUNCTION_TYPE((S), tpn) >& t##_mock( \
mock::detail::context& context, \
boost::unit_test::const_string instance ) \
{ \
- static mock::detail::function< MOCK_FUNCTION_TYPE(S, tpn) > f; \
+ static mock::detail::function< MOCK_FUNCTION_TYPE((S), tpn) > f; \
return f( context, instance ); \
}
@@ -167,7 +167,7 @@
{ \
BOOST_MPL_ASSERT_RELATION( n, ==, \
boost::function_types::function_arity< \
- MOCK_FUNCTION_TYPE(S, tpn) >::value ); \
+ MOCK_FUNCTION_TYPE((S), tpn) >::value ); \
return MOCK_HELPER(t)( BOOST_PP_ENUM_PARAMS(n, p) ); \
}
@@ -178,7 +178,7 @@
#define MOCK_VARIADIC_ELEM_2(e0, e1, e2, ...) e2
#define MOCK_METHOD_SIGNATURE(M, n, S, t) \
- typedef MOCK_FUNCTION_TYPE(S,) BOOST_PP_CAT(t,_sig_type); \
+ typedef MOCK_FUNCTION_TYPE((S),) BOOST_PP_CAT(t,_sig_type); \
MOCK_METHOD_EXT(M, n, BOOST_PP_CAT(t,_sig_type), t)
#define MOCK_METHOD(M, ...) \
MOCK_METHOD_SIGNATURE(M, \
diff --git a/test/test_mock.cpp b/test/test_mock.cpp
index 7a41f6f..3a83bae 100644
--- a/test/test_mock.cpp
+++ b/test/test_mock.cpp
@@ -346,11 +346,11 @@ namespace
{
MOCK_CLASS( round_parenthesized_signature )
{
- MOCK_METHOD_EXT( m0, 0, (std::map< int, int >()), m0 )
- MOCK_STATIC_METHOD( m1, 0, (std::map< int, int >()), m1 )
- MOCK_FUNCTOR( f0, (std::map< int, int >()) );
+ MOCK_METHOD_EXT( m0, 0, BOOST_IDENTITY_TYPE((std::map< int, int >())), m0 )
+ MOCK_STATIC_METHOD( m1, 0, BOOST_IDENTITY_TYPE((std::map< int, int >())), m1 )
+ MOCK_FUNCTOR( f0, BOOST_IDENTITY_TYPE((std::map< int, int >())) );
};
- MOCK_FUNCTION( fun0, 0, (std::map< int, int >()), fun0 )
+ MOCK_FUNCTION( fun0, 0, BOOST_IDENTITY_TYPE((std::map< int, int >())), fun0 )
}
#ifdef MOCK_VARIADIC_MACROS
@@ -397,7 +397,7 @@ namespace
MOCK_FUNCTION( fun1, 0, void() )
MOCK_FUNCTION( fun2, 0, void(), fun2 )
- MOCK_FUNCTION( fun3, 0, (std::map< int, int >()) )
+ MOCK_FUNCTION( fun3, 0, BOOST_IDENTITY_TYPE((std::map< int, int >())) )
MOCK_FUNCTOR( f_variadic, std::map< int, int >() );
}